Hi Leute,
also nun bin ich echt am A...., ich habe für eine DB in MS-Access ein Formular erstellt, in das Firmendaten (Adresse, Branche etc) eingegeben werden sollen. Damit man nun einen "schönen" Überblick hat, welche Firmen denn so alles schon in der DB erfasst sind, habe ich ein Listenfeld eingefügt, dass den Firmennamen und -ort anzeigt. Beim Löschen eines Datensatzes geschieht nun folgendes:
Alle Daten aus den verknüpften Tabellen werden gelöscht, nur in der tbl_firmen (Haupttabelle) bleiben die Firmendaten drin, somit auch in meinem Listenfeld.
Hier mal der Quellcode, damit Ihr mich vielleicht besser versteht:
Der LÖSCHBUTTON:
Private Sub cmdDeleteDS_Click()
On Error GoTo Err_cmdDeleteDS_Click
Dim antw As Byte
Beep
antw = MsgBox("Wollen Sie diesen Datensatz wirklich löschen?", _
vbYesNo + vbQuestion, "Löschwarnung!")
If antw = vbYes Then
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
antw = MsgBox("Der Datensatz wurde endgültig gelöscht!", _
vbOKOnly + vbExclamation, "Info!")
Me.list_firmenliste.Requery
End If
Exit_cmdDeleteDS_Click:
Exit Sub
Err_cmdDeleteDS_Click:
MsgBox Err.Description
Resume Exit_cmdDeleteDS_Click
End Sub
Das LISTFELD:
Private Sub list_firmenliste_Click()
Dim rst As Recordset
Dim strGesuchterName As String
cmdBearbeiten.Visible = True
cmdDeleteDS.Visible = True
Set rst = Me.RecordsetClone
rst.FindFirst "[iD_FIRMA] = " & list_firmenliste.Value
If rst.NoMatch Then
MsgBox " Datensatz nicht gefunden "
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
End Sub
Bei den Verweisen ( in VBA)sind
Visual-Basic for Application
MS-Access 9.0 Object-Libary
OLE-Automation und
MS-DAO 3.51 Object-Libary
eingeschaltet. In einer anderen Anwendung die ich programmiert habe funktioniert der abgleich mit dem Listenfeld übrigens. Bei gleichen Quellcode und Verweisen...
Seltsam, oder ?????
Hat jemand einen Tipp ???
Euer Jörg