Per Knopf auf leeren Datensatz springen?

Hallo,

ich möchte gerne mit einem Knopfdruck auf einen leeren Datensatz springen, damit der Benutzer einen neuen Datensatz eintragen kann.
Den Knopf habe ich, aber leider springt er mir immer in den ersten Datensatz und nicht in den leeren!?
In fldTypeID steht der Name des Datensatzes. Ich habe folgendes probiert:
Me!fldTypeID.SetFocus
RunCommand acCmdRecordsGoToNew
’ DoCmd.GoToRecord , , acNew
Und er springt in den ersten Datensatz. Bei
’ DoCmd.FindRecord
weiss ich leider nicht, wie ich den leeren Datensatz suchen lassen soll…
Gibt es da noch einen guten Tipp? Wenn ich das irgendwie hinkriege, muss ich dann noch etwas beachten, wenn ich einen weiteren neuen Datensatz hinterher einpflegen will?
Grüße,
Sebastian

Hallo Sebastian,

In fldTypeID steht der Name des Datensatzes.

das ist uninteressant, aber die Feldbezeichnung ist ungewöhnlich

er reicht nur folgender Code:

DoCmd.GoToRecord acDataForm, „Meinformular“, acNewRec

Vorausgesetzt:

  • das Formular lässt auch das Hinzufügen eines neuen Datensatzes zu?
  • es gibt keinen Filter der neue leere Datensätze ausschließt?

bei DoCmd.FindRecord weiss ich leider nicht, wie ich den leeren Datensatz suchen lassen soll…

gar nicht, du kannst nicht nach einem neuen Datensatz suchen, wenn der noch nicht erstellt wurde :frowning:

Wenn ich das irgendwie
hinkriege, muss ich dann noch etwas beachten, wenn ich einen
weiteren neuen Datensatz hinterher einpflegen will?

nö, nur nochmal die Taste drücken :smile:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo sibbl!

Im folgenden mal ein kleiner Quellcode ausschnitt, mit dem du werte aus Felder im Formular ausliest und in die Tabelle schreibst. Die Werte werden angefügt, d.h. ein neuer Datensatz wird erzeugt.

_____________________________________________________________________
dim rstRecordset as Recordset

dim wert_fuer_spalte1 as string 'nur ein beispiel datentyp
dim wert_fuer_spalte2 as string 'Beispiel

wert_fuer_spalte1 = me.feldname1 & „“ ’ leerstring anfügen, falls im Feld nichts steht, wird wenigstens ein leerstring an die Variable übergeben
wert_fuer_spalte2 = me.feldname2 & „“

Set rstRecordset = CurrentDb.OpenRecordset(„tabellenname“, dbOpenDynaset)
With rstRecordset
.AddNew 'erstelle einen neuen Datensatz
.Fields(„spaltenname1“) = wert_fuer_spalte1
.Fields(„spaltenname2“) = wert_fuer_spalte2
.Update
.close
End With

____________________________________________________________________

hoffe dass alles verständlich war.
bei fragen einfach stellen.

mfg Private-Joker

Hallo!

DoCmd.GoToRecord acDataForm, „Meinformular“, acNewRec

Vorausgesetzt:

  • das Formular lässt auch das Hinzufügen eines neuen
    Datensatzes zu?

Das war das entscheidende! Nun geht der obige Befehl (den ich schon diverse Male probiert hatte…)!

Schöne Grüße aus Hamburg,
Sebastian

Hallo,

bei mir sieht das ueblicherweise so aus:

=============================================
Private Sub btnNewRec_Click()
On Error GoTo Err_btnNewRec_Click

Me.AllowAdditions = True
Me.AllowEdits = True

DoCmd.GoToRecord , , acNewRec
Me.AllowAdditions = False
Exit_btnNewRec_Click:
Exit Sub
Err_btnNewRec_Click:
MsgBox Err.Description
Resume Exit_btnNewRec_Click
End Sub

Hope this helps

Tschau
Peter