2016-04-09 5 views
0

Kürzlich begann Access zu lernen und ich bin ein wenig stecken auf Löschen von Datensätzen in einem Formular. Ich habe eine Liste mit dem folgenden Code:Löschen von Datensatz in MS Access Form mit Schaltfläche

Private Sub lstPickList_AfterUpdate() 
Dim rst As DAO.Recordset 

Set rst = Me.RecordsetClone 
rst.FindFirst "OrderID=" & lstPickList.Column(0) & "" 
If rst.NoMatch Then 
    MsgBox "The selected record can not be displayed." _ 
     & "To display this record, you must first turn off record filtering.", _ 
     vbInformation 
Else 
    Me.Bookmark = rst.Bookmark 
End If 
Set rst = Nothing 
End Sub 

und eine Schaltfläche, die ich nutzen möchte zu löschen, was Auftrag zur Zeit auf der Liste ausgewählt ist. Das "DeleteRecord" Makro gibt mir nur ein "Der Befehl oder die Aktion 'DeleteRecord' ist jetzt nicht verfügbar." Error. Die Suche hat mir eine Menge Code gegeben, der bei mir überhaupt nicht funktioniert hat.

+0

-Code läuft ein Formular Suche auf ausgewählte Datensatz in der Liste je nachdem, ob Sie else-Anweisung zu ändern: 'Me.RecordSet.Bookmark = rst.Bookmark'. Einfach nach der Suche löschen: 'DoCmd.RunCommnd acCmdDeleteRecord'. – Parfait

Antwort

0

Sie können direkt aus dem Klon löschen:

If rst.NoMatch Then 
    MsgBox "The selected record can not be displayed." _ 
     & "To display this record, you must first turn off record filtering.", _ 
     vbInformation 
Else 
    rst.Delete 
End If 
Verwandte Themen