Neuigkeiten:

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

Mobiles Hauptmenü

Werte in Tabelle schreiben

Begonnen von ProVBA, Dezember 03, 2015, 11:27:00

⏪ vorheriges - nächstes ⏩

ProVBA

Hey zusammen,
ich bräuchte dringend Hilfe.... ich komm irgendwie gerade nicht drauf.
Ich habe zwei Tabellen die über einen Primärschlüssel in Beziehung zueinander stehen.
Per VBA schreibe ich neu Werte in die Tabelle1

Set rcs_1 = CurrentDb.OpenRecordset("Tabelle1")
rcs_1.AddNew
rcs_1.Fields("PK").Value = Me!Primärschluessel
rcs_1.Fields("Value1").Value = Me!Value1
rcs_1.Update

Nun möchte ich in Tabelle2 weitere Werte eintragen die jedoch zum gleichen Datensatz (Primärschlüssel) gehören wie in Tabelle1.

Danke für eure Hilfe

MzKlMu

#1
Hallo,
warum verwendest Du nicht einfach gebundene Formulare?
Ein Hauptformular für Tabelle1 und ein Unterformular für Tabelle2.
Hafo und Ufo werden über die Schlüsselfelder verknüpft.
Dann wird der PS von Tabelle1 automatisch an Tabelle2 als Fremdschlüssel übergeben.

Das geht alles automatisch über Standardfunktionalitäten von Access, es wird kein Buchstabe VBA Code benötigt.

PS:
Zitatdie über einen Primärschlüssel in Beziehung zueinander stehen
Die Beziehung darf aber nicht über 2 Primärschlüssel laufen, denn das wäre dann eine 1:1 Beziehung die man dann in Frage stellen müsste.

Gruß Klaus

ProVBA

Danke für deine schnelle Antwort,
das mit Hafo und Ufo ist mir bekannt. Meine zuvor beschriebene Darstellung
ist sehr einfach dargestellt, in Wirklichkeit habe ich ein sehr komplexes Formular
zugrunde liegen, daher würde ich dies gerne über VBA realisieren.
Evtl. hast du mir hierfür eine Hilfestellung

MaggieMay

Hi,

das eigentliche Problem ist immer noch unklar. Was hindert dich daran, in die zweite Tabelle mit einem zweiten Recordset zu schreiben?
Freundliche Grüße
MaggieMay

MzKlMu

Hallo,
ich zweifle die Notwendigkeit nach wie vor an. Und zur Anmerkung über den Primärschlüssel
ZitatDie Beziehung darf aber nicht über 2 Primärschlüssel laufen, ....
hast Du auch kein Wort verloren.
Gruß Klaus

ProVBA

Die beiden Tabellen sind miteinander Verknüpft in einer 1:n Beziehung, daher kann ich mit einem einfachen Recordset nicht in Tabelle2 schreiben. Da bekomme ich eine Fehlermeldung "Laufzeitfehler 3022".

MzKlMu

Hallo,
3022 ist doppelter Wert im Schlüsselfeld. Wenn das wirklich 1:n ist, kann der Fremdschlüssel mehrfach geschrieben werden und darf nicht zu diesem Fehler führen. Du machst einen grundsätzlichen Fehler.
Daher noch mal die Frage bzw. der Hinweis:
ZitatDie Beziehung darf aber nicht über 2 Primärschlüssel laufen, ....
Das dürfte die Ursache sein für 3022.
Zeige mal ein Bild der Beziehungen.
Gruß Klaus

ProVBA

Das ist das Bild der Beziehung zueinander.

ProVBA

hab den Fehler gefunden, es war ein falscher Wert in der Tabelle eingetragen. Dies hat den Fehler verursacht  >:( . Funktioniert ganz normal über ein Recordset!!

Danke für eure Mühen.....

MzKlMu

Hallo,
warum verwendest Du als Primärschlüssel nicht ID, das ist ja der Sinn der ID.

Und was daran kompliziert sein soll für Hafo und Ufo kann man auch nicht erkennen.
Gruß Klaus