PDA

Vollständige Version anzeigen : Laufzeitfehler '3201'


dmsman
10.07.2001, 11:27
Mahlzeit,
ich bekomme folgende fehlermeldung wenn ich einen datensatz hinzufügen möchte:
You can't add or change a record because a related record is required in table 'tblDokumente'

kann das heissen dass ich noch eine spalte unbelegt habe ? oder wie ??
danke

Kurt aus Kienitz
10.07.2001, 11:31
Hallo,

Das heißt, Du hast eine Beziehung zwischen zwei Tabellen erstellt und dort "referenzielle Integrität" eingestellt hast.

Mit anderen Worten, Du kannst nur dann einen Datensatz in die Tabelle einfügen wenn der passende Datensatz in der Tabelle "tblDokumente" vorhanden ist.

Also erst ein INSERT in die Tabelle "tblDokumente" machen und dann in die Tabelle bei der Du die Fehlermeldung bekommen hast.

HTH

dmsman
10.07.2001, 11:41
Hi Kurt,
also mein code sieht jetzt so aus:

'Tabelle Dokumente

Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("tbldokumente", dbOpenDynaset)
rst.AddNew
rst("Name") = filename
rst("Größe_ in_ KB") = erg
rst("Version") = GetFileVersionNumber(test)
rst("Author") = CurrentUser()
rst("Typ") = "test"
rst("Erstellungsdatum") = datumvar3
rst("Verfallsdatum") = "optional"
rst("Schlüsselwörter") = "schluesselwort"
rst.Update
rst.close
MsgBox ("Dokumentendaten wurden zur Tabelle tblDokumente hinzugefügt!")
------------------------------------------
'Tabelle Dateien

Dim rst2 As DAO.Recordset
Set rst2 = CurrentDb.OpenRecordset("tbldateien", dbOpenDynaset)
rst2.AddNew
rst2("Dateiname") = filename
rst2("Dateigroesse") = erg
rst2("Erstellungsdatum") = datumvar3
rst2.Update
rst2.close

MsgBox ("Dateiname wurde zur Tabelle tblDateien hinzugefügt!")

ich öffne ja zuerst die tabelle "tblDokumente" und dann danach erst die tabelle Dateien ???

Kurt aus Kienitz
10.07.2001, 11:58
Hallo nochmal,

Und das passiert in einer Funktion/Prozedur ?

Wie sieht denn die Beziehung aus, die Du angelegt hast ?

dmsman
10.07.2001, 12:23
ja das funktioniert in einem modul in einer funktion wenn die Variable mit dem dateinamen übergeben wird !

es ist eine 1:n beziehung mit referentieller integrität + Aktualisierungsweitergabe an Detailfeld
ich habe 2 tabellen "tblDokumente" + "tblDateien" und die sind beide über die Dokumentenid verbunden :)

Kurt aus Kienitz
10.07.2001, 12:33
Hallo,

Und wo gibst Du die DokumentenID an ?
Sind das evtl. AutoWerte, die nicht übereinstimmen ?

dmsman
10.07.2001, 13:10
hi,
also das ist jetzt schwer zu erklären
ich hab eine tabelle dokumente mit einer spalte Dokumentenid (Autowert) und eine tabelle Dateien mit einer spalte dateienid(autowert) und dokumentenid !
das problem besteht schonmal darin, dass wenn ich im dokumentenformular die dokumente anzeigen lass, zeigt er in meinem unterformular die daten aus der tabelle dateien nicht an !!
obwohl ich die steuerelemente eigentlich richtig angegeben habe??
wieso zeigt er mir im unterformular keine daten an ? das hängt doch bestimmt mit der dokumentenid zusammen oder?daher vielleicht mein problem wenn ich einen datensatz hinzufügen möchte. er fügt ihn zur tabelle dokumente hinzu, aber in die tabelle dateien fügt er nichts hinzu ??
also kann er sie auch nicht im unterformular anzeigen wenn nichts eingetragen ist!! also irgendwas stimmt nicht mit meiner verknüpfung? hast du eine ahnung was es sein könnte?
--------------------------------------------
am besten ich lösch mal alle datensätze der tabelle dokumente dann stehen keine daten mehr drin und die id steht auch wieder auf 1 oder so ! wie lösch ich alle datensätze meiner tabelle ?
danke dass du dir jetzt diesen langen text durchgelesen hast und dir vielleicht noch gedanken drüber machst :)