 Elite Veteran
Beiträge: 829
     Ort: Wien | Hallo, Peter!
pwakolbi - 12.02.12
So Funktionirt´s
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = CurrentDb.OpenRecordset("SELECT tblKFZ.Fahrgestellnummer," _
& " tblKundenAdressen.Adresszeile_1" _
& " FROM tblKundenAdressen INNER JOIN tblKFZ ON" _
& " tblKundenAdressen.Adressnummer = tblKFZ.Adressnummer" _
& " WHERE (((tblKFZ.Fahrgestellnummer)='" & txtFahrgestellnummer & "'))", dbOpenDynaset)
If Not IsNull(DLookup("Fahrgestellnummer", "tblKFZ", _
"Fahrgestellnummer = " & Chr$(34) & Me!txtFahrgestellnummer & Chr$(34))) _
And Me!txtFahrgestellnummer <> Nz(Me!txtFahrgestellnummer.OldValue) Then
MsgBox "Diese Fahrgestellnummer ist schon im System!" _
& " Der Vorbesitzer von diesem Fahrzeug war " & rs!Adresszeile_1 & "", vbInformation, "Duplikat"
Cancel = True
db.Execute ("Update tblKFZ SET" _
& " tblKFZ.Adressnummer = " & Forms!mdifrmKundenadressen!txtAdressnummer & "" _
& " WHERE ((tblKFZ.Fahrgestellnummer)= '" & txtFahrgestellnummer & "' )")
Me.Undo
Me.Requery
End If
Glaube ich, dass das so funktioniert, denn jetzt öffnest du kein "konkurrierendes" Formular mehr.
Wenn du eh schon ein Recordset aufmachst, kannst du das noch vereinfachen und beschleunigen, indem du statt des DLookUp-Ausdrucks schreibst:
'wenn das rs Datensätze hat
If Not rs.BOF Then
MsgBox "Diese Fahrgestellnummer ist schon im System!"
usw.
----- Servus
Karl
*********
Access Bugs & more: https://www.accessforever.org
Access News: https://youtu.be/r4LvFFuJOcY
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek |