Thema Datum  Von Nutzer Rating
Antwort
26.10.2016 14:01:05 Flex
NotSolved
30.10.2016 15:45:33 BigBen
NotSolved
Rot Datensatz per Formular an Nummer x einfügen
02.11.2016 16:42:47 Flex
NotSolved
02.11.2016 18:04:32 BigBen
Solved

Ansicht des Beitrags:
Von:
Flex
Datum:
02.11.2016 16:42:47
Views:
1229
Rating: Antwort:
  Ja
Thema:
Datensatz per Formular an Nummer x einfügen
Hi BigBen, ich hatte auch weniger auf eine Bsp-DB gehofft, sondern eher einen konkreten Vorschlag zu der Lösung des Problems.
 
Mit der erwähnten Userform kann ich gar nichts anfangen?! 

Anbei der von mir erstellte Pseudocode: 

1) Private Sub NewRecord_Click()
2) On Error GoTo Err_NewRecord_Click
3) 
4) Dim MyNumber As Variant
5) Dim Position As Integer
6) Dim rs As DAO.Recordset
7) 
8) Set db = CurrentDb()
9) Set rs = Me.RecordsetClone
10) MyNumber = InputBox("Typkopf-Nummer eingeben", "Neuer Datensatz")
11) MyNumber = CInt(Position)
12) Max = DMax("Reihenfolge_Ebene", "tbl_Typkopf")
13) 
14) If IsNull(Reihenfolge_Ebene) Then
15) For i = Position To Max
16) i = i + 1
17) Next i
18)     DoCmd.GoToRecord , , acNewRec
19)     
20) Else
21) DoCmd.GoToRecord , , acNewRec
22) End If
23)     
24)     rs.AddNew
25)     rs.Update
26)     rs.Close
27)     
28)     
29) 
30) Exit_NewRecord_Click:
31)     Exit Sub
32) 
33) Err_NewRecord_Click:
34)     MsgBox Err.Description
35)     Resume Exit_NewRecord_Click
36)     
37) End Sub

Der Pseudocode ist im Moment verknüpft mit einem Formular-Button der das Erstellen neuer Datensätze ermöglicht. 
Wird dieser geklickt wird ein neuer Datensatz am Ende erzeugt. Genau dies will ich vermeiden. 
Dafür soll der User in einer Inputbox eine Nummer eingeben welche für den neuen Datensatz das Attribut Reihenfolge_Ebene festlegt. 
Dieses enthält fortlaufende Nummern von 1 - ca.500 welche nicht durchgehend besetzt sind. 
Daraus ergeben sich 2 Fälle für das Einfügen: Fall a) Die eingegebene Nummer ist vergeben.
Dann soll dieser "alte" Datensatz für das Attribut Reihenfolge_Ebene um 1 erhöht werden.
Anschließend muss der Vorgang wiederholt werden bis alle Datensätze ab der eingegebenen Nummer
bis zum Ende der Tabelle für die Reihenfolge_Ebene um 1 erhöht wurden.
Nun kann der neue Datensatz in die freie Zeile eingefügt werden (soweit die Theorie)

Fall b) Der simple Fall das die Nummer nicht vergeben ist und der Datensatz an dieser Stelle eingefügt werden soll.
In diesem Fall dürfte die Iteration der Reihenfolge_Ebene entfallen.

Nun meine Frage: Lässt sich das Vorhaben auf diese (s.Pseudocode) Art und Weise lösen?
Um es einfach zu formulieren: Der Wunsch besteht darin an beliebiger Position Daten einzufügen. 

LG, Flex

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.10.2016 14:01:05 Flex
NotSolved
30.10.2016 15:45:33 BigBen
NotSolved
Rot Datensatz per Formular an Nummer x einfügen
02.11.2016 16:42:47 Flex
NotSolved
02.11.2016 18:04:32 BigBen
Solved