Hallo Zusammen,
mal wieder knabbere ich an einem neuen Problem, wozu ich einfach keine Lösung finde...
Was habe ich? In einer Datensatzherkufnt für ein Formular habe ich aus zwei verschiedenen Tabellen das Feld "ID". In Access wird es dann zu "tblSchaltfelder.ID" und "tblSchaltfelderAbgaenge.ID". Der Zugriff auf die Felder funktioniert innerhalb Access auch sehr gut.
Nur in VBA kann ich diese beiden Felder nun nicht adressieren. In der Autovervollständigung werden mir die beiden Felder zwar richtig angezeigt und ich kann sie auswählen, allerdings lässt sich der Code dann nicht mehr kompilieren und ausführen.
Anbei auch ein paar Screenshots, hoffe meine Erklärung ist soweit verständlich :-[
Habt Ihr eine Idee wie ich die beiden Daten richtig in VBA adressiere?
Danke für eure Tips :)
Hallo Maximilian,
Adressiere das Formularfeld, das an die ID gebunden ist.
Ausserdem solltest du dir angewöhnen ID-Felder mit einem Bezug
zur Tabelle zu benennen, z.B. SchaltfeldID und auch die Fremd-
schlüssel als solche kennzeichnen (IDF_Schaltfeld). Und Formu-
larfelder anders benennen als die, an sie gebundenen Tabellen-
Felder.
gruss ekkehard
Zitat von: Maximilian am Oktober 22, 2020, 11:07:09In einer Datensatzherkufnt für ein Formular habe ich aus zwei verschiedenen Tabellen das Feld "ID". In Access wird es dann zu "tblSchaltfelder.ID" und "tblSchaltfelderAbgaenge.ID". Der Zugriff auf die Felder funktioniert innerhalb Access auch sehr gut.
Nur in VBA kann ich diese beiden Felder nun nicht adressieren.
Die Felder in den Tabellen umzubenennen, wie
@Beaker s.a. schrieb, halte ich nicht unbedingt für erforderlich. Aber mindestens in deiner Abfrage solltest du einen Aliasname für die Felder vergeben (https://codekabinett.com/rdumps.php?Lang=1&targetDoc=sql-as-alias), um den Punkt im Namen zu vermeiden.
Generell sollte man Sonderzeichen in allen Namen vermeiden. Wenn das nicht möglich ist, kann man die Namen in eckige Klammern schreiben.
MsgBox Me.[tblSchaltfelder.ID].Value
Zitat...Die Felder in den Tabellen umzubenennen, wie @Beaker s.a. schrieb, halte ich nicht unbedingt für erforderlich...
Nicht alles, was Access erlaubt, dient unbedingt dem übersichtlichen Aufbau einer Access-Datenbank (oder anderer DBs).
Sonderzeichen sind erlaubt.
Doppelte Feldnamen sind erlaubt.
Einen Feldnamen in der Tabelle im Feld Bezeichnungen umzubenennen ist erlaubt.
Eine Tabelle im Beziehungsfenster 2 x zu benutzen ist erlaubt.
Tabellen-, Formular-, Berichts-, Abfragennamen etc. können beliebige Namen ohne Präfix haben.
Nachschlagefelder in Tabellen nach dem Aufbauprozess eines Tabellenmodells weiter zu verwenden ist erlaubt.
Diese Klassenmodule und Abfragen müssen äusserlich keinen Zusammenhang per Namen aufweisen.
Wenn man allerdings all das (und was ich evtl. vergessen habe) vermeidet, dann muss man später nicht
herumtricksen, um oben schon angedeutete Problem umgehen zu müssen.
Ich vertrete den Standpunkt von Beaker s.a.
Hallo der Arb,
Danke für Unterstützung.
Ich sehe das eher pädagogisch. Für Anfänger sind solche Hinweise
bzw. deren Umsetzung m.E. eine grosse Hilfe zum Verständnis der
Zusammenhänge (Schlüssel, Beziehungen)
gruss ekkehard
Danke für die schnellen Antworten.
Wenn man's weiß, machts auch irgendwie Sinn ::) Ich bin nur nicht auf die Idee gekommen :-[
Alle Primär- und Fremdschlüssen sind nun eindeutig benannt und schon funktionierts.
Andere Frage: Den Button "Thema gelöst" kann ich gerade nicht finden.... Kann ein Mod das Thema als gelöst markieren?