ich habe mal das ganze hin gepostet damit du dir alles ansehen kannst
          Private Sub cmdAdd_Click()
          Data1.Recordset.AddNew
          End Sub
          
          
          Private Sub cmdDelete_Click()
          'das kann eventuell einen Fehler verursachen, wenn Sie den letzten Datensatz, oder
          'den einzigen Datensatz in dieser Ergebnismenge gelöscht haben
          With Data1.Recordset
          .Delete
          .MoveNext
          If .EOF Then .MoveLast
          End With
          End Sub
          
          
          Private Sub cmdRefresh_Click()
          'dies wird nur in Mehr-Benutzer-Szenarien benötigt
          Data1.Refresh
          End Sub
          
          
          Private Sub cmdUpdate_Click()
          Data1.UpdateRecord
          Data1.Recordset.Bookmark = Data1.Recordset.LastModified
          End Sub
          
          
          Private Sub cmdGrid_Click()
          On Error GoTo cmdGrid_ClickErr
          
          
          Dim f As New frmDataGrid
          Set f.Data1.Recordset = Data1.Recordset
          f.Caption = Me.Caption & " Grid"
          f.Show
          
          
          Exit Sub
          cmdGrid_ClickErr:
          End Sub
          
          
          Private Sub Command1_Click()
          speichern
          End Sub
          
          Private Sub Command2_Click()
          speichern
          End Sub
          
          Private Sub Data1_Error(DataErr As Integer, Response As Integer)
          'Hier können Sie Ihre Fehlerbehandlungsroutine einfügen
          'Wenn Sie Fehler ignorieren möchten, kommentieren Sie die nächste Zeile einfach aus
          'Wenn Sie Fehler auffangen möchten, fügen Sie hier den behandelnden Code ein
          MsgBox "Data error event hit err:" & Error$(DataErr)
          Response = 0 'Fehler rauswerfen
          End Sub
          
          
          Private Sub Data1_Reposition()
          Screen.MousePointer = vbDefault
          On Error Resume Next
          'Dies zeigt die aktuelle Datensatzposition für
          'Dynasets und Snapshots an
          Data1.Caption = "Record: " & (Data1.Recordset.AbsolutePosition + 1)
          'für Table-Objekte müssen Sie die Index-Eigenschaft setzen,
          'wenn die Ergebnismenge erstellt wird. Verwenden Sie die folgende Zeile
          'Data1.Caption = "Record: " & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1
          End Sub
          
          
          Private Sub Data1_Validate(Action As Integer, Save As Integer)
          'Hier können Sie Code zur Überprüfung einfügen
          'Dieses Ereignis wird aufgerufen, wenn die folgenden Aktionen auftreten
          Select Case Action
          Case vbDataActionMoveFirst
          Case vbDataActionMovePrevious
          Case vbDataActionMoveNext
          Case vbDataActionMoveLast
          Case vbDataActionAddNew
          Case vbDataActionUpdate
          Case vbDataActionDelete
          Case vbDataActionFind
          Case vbDataActionBookmark
          Case vbDataActionClose
          Screen.MousePointer = vbDefault
          End Select
          Screen.MousePointer = vbHourglass
          End Sub
          
          
          Private Sub Form_Unload(Cancel As Integer)
          Screen.MousePointer = vbDefault
          End Sub