Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: ProVBA am Dezember 03, 2015, 11:27:00

Titel: Werte in Tabelle schreiben
Beitrag von: ProVBA am Dezember 03, 2015, 11:27:00
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
Titel: Re: Werte in Tabelle schreiben
Beitrag von: MzKlMu am Dezember 03, 2015, 11:37:06
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.

Titel: Re: Werte in Tabelle schreiben
Beitrag von: ProVBA am Dezember 03, 2015, 11:53:59
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
Titel: Re: Werte in Tabelle schreiben
Beitrag von: MaggieMay am Dezember 03, 2015, 11:56:20
Hi,

das eigentliche Problem ist immer noch unklar. Was hindert dich daran, in die zweite Tabelle mit einem zweiten Recordset zu schreiben?
Titel: Re: Werte in Tabelle schreiben
Beitrag von: MzKlMu am Dezember 03, 2015, 12:02:31
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.
Titel: Re: Werte in Tabelle schreiben
Beitrag von: ProVBA am Dezember 03, 2015, 12:07:42
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".
Titel: Re: Werte in Tabelle schreiben
Beitrag von: MzKlMu am Dezember 03, 2015, 12:15:08
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.
Titel: Re: Werte in Tabelle schreiben
Beitrag von: ProVBA am Dezember 03, 2015, 12:27:34
Das ist das Bild der Beziehung zueinander.
Titel: Re: Werte in Tabelle schreiben
Beitrag von: ProVBA am Dezember 03, 2015, 12:39:23
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.....
Titel: Re: Werte in Tabelle schreiben
Beitrag von: MzKlMu am Dezember 03, 2015, 12:42:15
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.