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



Elite Veteran

Beiträge: 847
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
*********
https://www.donkarl.com/devcon Access-Online-Konferenz 18.+19.4.
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy...
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Top of the page Bottom of the page