Unterformular syncronisieren
Karl Donaubauer
Gesendet: 13.02.12 16:11
Betreff: RE: Unterformular syncronisieren



Elite Veteran

Beiträge: 849
50010010010025
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...
Top of the page Bottom of the page