Elite Veteran
Beiträge: 876
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-Entwickler-Konferenz: https://www.donkarl.com/?aek
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |