Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Laufzeitfehler 3075

Begonnen von Aloster, August 30, 2013, 14:32:12

⏪ vorheriges - nächstes ⏩

Aloster

Access 2010

Hallo,

ich habe ein Unterformular "Bankformular" im Hauptformular "Adressenformular". Im Ufo "Bankformular" habe u.a. ein ungebundenes Feld "Zahl" und eine gebundenes Feld "Zähler" sowie folgenden Code:


Private Sub Form_Current()
If Not Nz(DLookup("Kennummer", "Bankdaten", 0)) Then
   Me.Zahl.DefaultValue = DMax("Zähler", "Bankdaten", "Kennummer =" & [Kennummer]) + 1
   Else
   Me.Zahl.DefaultValue = 1
End If
End Sub


Zunächst soll damit in der Tabelle "Bankdaten" nachgeschaut werden, ob für die betreffende Kennummer (=Person) ein Datensatz oder mehrere Datensätze mit (lfd.) Zähler und Bankdaten vorhanden sind. Wenn ja, wird der maximale Zähler der betreffenden Kennummer ausgelesen und an das Feld "Zahl" im Ufo weitergegeben. Wenn nicht, dann erhält das Feld "Zah" den Wert "1".
Wenn ich nur das Unterformular "Bankformular" öffnen, funktioniert der Code wunderbar. Öffne ich dagegen das Hauptformular "Adressenformular"  (mit dem eingebundenen Ufo "Bankformular") kommt folgende Fehlermeldung:

Laufzeitfehler 3075
Syntaxfehler (fehlender Operator) im Abfrageausdruck 'Kennummer='.

Woran liegt das?

Vielen dank im Vorraus!

DF6GL

Hallo

offensichtlich ist das Form-Textfeld "[Kennummer]" leer oder nicht initialisiert....


Vielleicht wäre der Code besser im Form_Current-Ereignis des Hauptforms aufgehoben.. (mit entspr. Anpassung)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Aloster

Hallo Franz,

ich habe es nun hinbekommen:

Private Sub Form_Current()
If Not IsNull(DLookup("Kennummer", "Bankdaten", "Kennummer =" & Forms!EingabeAdressen![Kennummer])) Then
    Me.Zahl.DefaultValue = DMax("Zähler", "Bankdaten", "Kennummer =" & Forms!EingabeAdressen![Kennummer]) + 1
Else
    Me.Zahl.DefaultValue = 1
End If
End Sub

Dein Hinweis hat mir geholfen. Danke!