Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Fehlermeldung Access DB Modul findet Schlüsselfeld nicht
zurück: Speichern verhindern bei falscher Eingabe weiter: Access Felddatentypen JA/NEIN sperren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Dutch_OnE
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Jan 2012, 12:48
Rufname:
Wohnort: Hamburg

Fehlermeldung Access DB Modul findet Schlüsselfeld nicht - Fehlermeldung Access DB Modul findet Schlüsselfeld nicht

Nach oben
       Version: Office 2010

Hallo,

ich habe ein Formular mit 2 Unterformularen.
Beim Beenden werden Datensätze geschrieben und ich bekomme folgende Meldung.

Das Microsoft Access Datenbank Modul kann in der Tabelle "Material" keinen Datensatz mit passenden Schlüsselfeldern "MaterialIF_FK" finden.


Das Formular 1 schreibt in die Tabelle Material mit folgenden Feldern:
(MaterialID, HerstellerID_FK, KategorieID_FK, BezeichnungID_FK)

Das Formular 2 schreibt in die Tabelle ArbeitMaterial mit folgenden Feldern:
(MaterialvergabeID, MaterialID_FK, Anzahl, ArbeitsID_FK)


Das komische ist, dass er es aber trotzdem macht.
Jemand eine Idee, wo ich da mal ansetzen kann?




Anbei noch der VBA Code:

Code:

Option Compare Database


Private Sub Form_Close()

Dim anz As String
Dim pos As String

'Anzahl Materialpositionen und aktualisieren der Tabelle Arbeitsberichte / Spalte Material
'anz = Me!tfAnzahlMatPos.Value
pos = Me!tfArbeitsID.Value

Dim db As DAO.Database
Dim rec_abr As DAO.Recordset

Set db = Application.CurrentDb
Set rec_abr = db.OpenRecordset("SELECT * FROM ArbeitMaterial WHERE ArbeitsID_FK = " & pos & "")
anz = rec_abr.RecordCount
rec_abr.Close
Set rec_abr = Nothing

Set rec_abr = db.OpenRecordset("SELECT * FROM Arbeitsberichte WHERE ArbeitsID = " & pos & "")
rec_abr.Edit
rec_abr.Fields(12) = anz
rec_abr.Update
rec_abr.Close
Set rec_abr = Nothing
db.Close
Set db = Nothing
End Sub


Private Sub kfBezeichnungIDFK_NotInList(NewData As String, Response As Integer)
Dim ctl As Control
Dim db As Database
Dim rs As Recordset
Dim NeueEingabe As String
Set db = CurrentDb

Set ctl = Me!kfBezeichnungIDFK
NeueEingabe = Me!kfBezeichnungIDFK.Text

If MsgBox("Wert " & NeueEingabe & " fehlt. Hinzufügen?", vbOKCancel) = vbOK Then
    Response = acDataErrAdded
    Set rs = db.OpenRecordset("Bezeichnung")
        rs.AddNew
        rs.Fields("BezeichnungName") = NeueEingabe
        rs.Fields("KategorieID_FK") = Forms![Arbeit Material]![UF Arbeit Material].Form!kfKategorieIDFK
        rs.Fields("HerstellerMatID_FK") = Forms![Arbeit Material]![UF Arbeit Material].Form!kfHerstellerMatIDFK
        rs.Update
        rs.Close
        Set rs = Nothing
    Else
        Response = acDataErrContinue
        ctl.Undo
End If
db.Close
Set db = Nothing

End Sub


Private Sub kfHerstellerMat_AfterUpdate()
Me!tfHersteller = Me!kfHerstellerMat.Value
End Sub

Private Sub kfKategorieBez_AfterUpdate()
Me!tfKategorie = Me!kfKategorieBez.Column(4)
Me!tfBezeichnung = Me!kfKategorieBez.Column(5)

Dim db As Database
Dim rs As Recordset
Dim matID As Long
Dim herst As Long
Dim kat As Long
Dim bez As Long

herst = tfHersteller.Value
kat = tfKategorie.Value
bez = tfBezeichnung.Value

Set db = CurrentDb

    Set rs = db.OpenRecordset("SELECT MaterialID FROM Material WHERE HerstellerMatID_FK = " & herst & " AND KategorieID_FK = " & kat & " AND BezeichnungID_FK = " & bez & "")
        'rs.MoveFirst
        '   Do While Not rs.EOF
        matID = rs.Fields("MaterialID").Value
        '      rs.MoveNext
        ' Loop
        rs.Close
        Set rs = Nothing

    Set rs = db.OpenRecordset("ArbeitMaterial")
        rs.AddNew
        rs.Fields("ArbeitsID_FK") = tfArbeitsID
        rs.Fields("MaterialID_FK") = matID
        rs.Fields("Anzahl") = tfAnzahl
        rs.Update
        rs.Close
        Set rs = Nothing

db.Close

[/quote]



accessfehler.png
 Beschreibung:
 Dateigröße:  58.06 KB
 Angeschaut:  645 mal

accessfehler.png


Marmeladenglas
komme zurecht


Verfasst am:
12. Jan 2012, 13:12
Rufname:


AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht - AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht

Nach oben
       Version: Office 2010

Hi,
warum lädst du die DB niht einfach hoch, das erspart die langwierigen Erklärungen und man kann die "fehlenden" notwendigen Infos selbst nachschauen.
Gast



Verfasst am:
12. Jan 2012, 14:30
Rufname:

AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht - AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht

Nach oben
       Version: Office 2010

Code:

    Set rs = db.OpenRecordset("SELECT MaterialID FROM Material WHERE HerstellerMatID_FK = " & herst & " AND KategorieID_FK = " & kat & " AND BezeichnungID_FK = " & bez & "")

        matID = rs.Fields("MaterialID").Value



In der Tabelle ist die MaterialID_FK vom Typ LongInteger.
Die Variable matID ist vom Typ Long.

Ich lese mit dem Recordset eine MaterialID aus, schreibe diese in eine Variable matID und will diese als MaterialID_FK in den Datensatz einfügen.

Das geht auch, aber kommt daher die Fehlermeldung? Muss ich vielleicht matID.Value übergeben ?
Marmeladenglas
komme zurecht


Verfasst am:
12. Jan 2012, 14:52
Rufname:

AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht - AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht

Nach oben
       Version: Office 2010

Hi,
bevor du dich in irgendwelchen Hirngespinsten versteigst, solltest du die Begriffe einfach mal ergoggeln.
Long oder Long Integer sind synonym.
.Value ist die default-Eigenschaft. Macht also überhaupt keinen Unterschied ob du
Me.Feld.Value oder nur Me.Feld schreibst und hat im übrigen überhaupt nix mit der Fehlermeldung zu tun.

Schön wie auf meine Antwort eingegangen bist Crying or Very sad
Gast



Verfasst am:
12. Jan 2012, 15:49
Rufname:

AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht - AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht

Nach oben
       Version: Office 2010

Das mit dem Hochladen habe ich beim letzten Mal gemacht. Es hat sich nicht mal einer Heruntergeladen, daher wollte ich es nicht nochmal machen.

Da ich den DS mit VBA schreibe, scheint dem System aber irgendwas daran zu stören und dennoch macht er den Eintrag rein.

Die Fehlermeldung meldet eine 1:N Beziehung mit fehlenden Schlüssel. Ich dachte das es egal sei, ob ich den Schlüssel aus der anderen Tabelle übergeben, oder eine Zahl die mit dem Schlüssel Value identisch ist.
Marmeladenglas
komme zurecht


Verfasst am:
12. Jan 2012, 16:26
Rufname:

AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht - AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht

Nach oben
       Version: Office 2010

Zitat:
Es hat sich nicht mal einer Heruntergeladen, daher wollte ich es nicht nochmal machen.

Fragt sich dann nur, wer hinterher der "Dumme" ist, wenn deine Frage nicht gelöst wird, nur weil du keine Lust mehr hast die DB online zu stellen.

Mich da auf irgendwelche Vermutungen zu stürzen, habe ich persönlich keine Lust zu, da schau ich mir die Gegebenheiten lieber "vor Ort" an.
Wenn ich mir den Code oben anschaue, scheinst du die Anmerkungen von mir aus dem anderen Thread auch nicht sonderlich ernst genommen zu haben.
Auf den Beitrag hast du auch nicht mehr geantwortet.
Da fragt man sich dann schon, warum man überhaupt noch auf deine Fragen antworten soll.
Dutch_OnE
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Jan 2012, 18:21
Rufname:
Wohnort: Hamburg


AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht - AW: Fehlermeldung Access DB Modul findet Schlüsselfeld nicht

Nach oben
       Version: Office 2010

So ich nochmal ^^
Habe es jetzt zum laufen bekommen. Das Problem war ein Unterformular mit Kombifeldern, was im Zusammenhang mit meiner VBA Programmierung nicht funktioniert hat. Nachdem ich den Inhalt auf der HFO gepackt habe und nur noch ein UFO verwende, geht es.

Trotzdem vielen Dank und vielleicht hast Du ja noch einen Tipp.
Ich würde gerne im HFO eine Funktion haben, mit der ich die Anzahl der DS aus dem UFO auslesen kann.

GRuß DO
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlermeldung 'Ungültiger Felddefinition 'ID'...' 0 Gast 2566 11. Mai 2009, 12:01
Gast Fehlermeldung 'Ungültiger Felddefinition 'ID'...'
Keine neuen Beiträge Access Tabellen & Abfragen: Fragen zu Modul FnsGetFields 16 aeschulus 2368 17. März 2009, 16:24
aeschulus Fragen zu Modul FnsGetFields
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlermeldung: Diese Datenbank ist bereits exklusiv geöffnet 0 Lothar_OMC 2545 02. März 2009, 12:58
Lothar_OMC Fehlermeldung: Diese Datenbank ist bereits exklusiv geöffnet
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlermeldung bei DatDiff und Kriterien 0 Thorsten_vv 923 29. Mai 2008, 08:58
Thorsten_vv Fehlermeldung bei DatDiff und Kriterien
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlermeldung beim Löschen eines Datensatzes aus der Tab ! 1 lars.muc 397 18. Feb 2008, 15:09
JörgG Fehlermeldung beim Löschen eines Datensatzes aus der Tab !
Keine neuen Beiträge Access Tabellen & Abfragen: UNION erzeugt Fehlermeldung 1 Zed2k 401 10. Jan 2008, 17:30
Zed2k UNION erzeugt Fehlermeldung
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlermeldung 5 Kerstin83 413 07. Dez 2007, 01:06
JörgG Fehlermeldung
Keine neuen Beiträge Access Tabellen & Abfragen: Access Fehlermeldung ?!?!?! 3 creech 408 09. Nov 2007, 10:22
Nouba Access Fehlermeldung ?!?!?!
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlermeldung "Zu viele Felder definiert" 9 audiojoe 7320 23. Jun 2007, 15:09
SnakeHo Fehlermeldung "Zu viele Felder definiert"
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlermeldung: There was an error executing the command? 0 Campnes 1220 12. Jun 2007, 12:24
Campnes Fehlermeldung: There was an error executing the command?
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlermeldung bei Filter einbauen 3 DrChill 1835 26. Feb 2007, 20:32
jens05 Fehlermeldung bei Filter einbauen
Keine neuen Beiträge Access Tabellen & Abfragen: Create temporary table bringt fehlermeldung 3 Gast 1924 30. Aug 2006, 15:42
Rundi Create temporary table bringt fehlermeldung
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Forum