Hallo zusammen,
ich bin nicht der stärkste im erklären, ich versuchs aber dennoch... denn leider weiß ich nicht mehr weiter und benötige Tipps und Tricks von Euch
Ich schreibe gerade ein Programm der Daten aus einer *.CSV Datei in eine DataGridView einliest und danach in eine ältere Access Datenbank *.mdb (Access 97) speichert.
Nun habe ich gedacht das ich fast fertig bin, allerdings hat mich eine Fehlermeldung auf den Boden der Tatsachen zurückgeholt...
Im Code seht ihr, dass ich die Daten aus dem DataGridView per INSERT INTO in die Datenbank speichern möchte. Leider klappt dies nicht da die Fehlermeldung
"Der Datensatz kann nicht hinzugefügt oder geändert werden, da ein Datensatz in der Tabelle 'Daten_HELP' mit diesem Datensatz in Beziehung stehen muss.
Die Beziehung seht Ihr hier:
Jetzt hatte ich mir gedacht das ich die Abhängigkeit einfach per Code Änderung durchführen kann.
Aber leider funktioniert das nicht, ich vermute das ich anders vorgehen muss leider weiss ich nicht wie.
Sobald ich dann diesen Code nutze erhalte ich ständig Syntax Fehler Semikolon (;)
Hat jemand eine Idee wie ich das lösen könnte?
PS: Die beigefügten Codes sind gekürzt..
Danke
ich bin nicht der stärkste im erklären, ich versuchs aber dennoch... denn leider weiß ich nicht mehr weiter und benötige Tipps und Tricks von Euch
Ich schreibe gerade ein Programm der Daten aus einer *.CSV Datei in eine DataGridView einliest und danach in eine ältere Access Datenbank *.mdb (Access 97) speichert.
Nun habe ich gedacht das ich fast fertig bin, allerdings hat mich eine Fehlermeldung auf den Boden der Tatsachen zurückgeholt...
Im Code seht ihr, dass ich die Daten aus dem DataGridView per INSERT INTO in die Datenbank speichern möchte. Leider klappt dies nicht da die Fehlermeldung
"Der Datensatz kann nicht hinzugefügt oder geändert werden, da ein Datensatz in der Tabelle 'Daten_HELP' mit diesem Datensatz in Beziehung stehen muss.
VB.NET-Quellcode
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Try
- For Each row As DataGridViewRow In DataGridView1.Rows
- Dim constring As String = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb"
- Using con As New OleDbConnection(constring)
- Using cmd As New OleDbCommand("INSERT INTO Daten_PRO (ZEICHNR, POSNR, QUANTITY, ELMNR) " & _
- "VALUES(@ZEICHNR, @POSNR, @QUANTITY, @ELMNR) ", con)
- cmd.Parameters.AddWithValue("@ZEICHNR", row.Cells("ZEICHNR").Value)
- cmd.Parameters.AddWithValue("@POSNR", row.Cells("POSNR").Value)
- cmd.Parameters.AddWithValue("@QUANTITY", row.Cells("QUANTITY").Value)
- cmd.Parameters.AddWithValue("@ELMNR", row.Cells("ELMNR").Value)
- '
- con.Open()
- cmd.ExecuteNonQuery()
- con.Close()
- End Using
- End Using
- Next
- MessageBox.Show("Funzt!")
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- End Sub
Die Beziehung seht Ihr hier:
Jetzt hatte ich mir gedacht das ich die Abhängigkeit einfach per Code Änderung durchführen kann.
Aber leider funktioniert das nicht, ich vermute das ich anders vorgehen muss leider weiss ich nicht wie.
VB.NET-Quellcode
- Using cmd As New OleDbCommand("INSERT INTO Daten_PRO (ZEICHNR, POSNR, QUANTITY, ELMNR) " & _
- "SELECT Daten_Pro.ZEICHNR, Daten_Pro.POSNR, Daten_Pro.QUANTITY, Daten_Pro.ELMNR " & _
- "FROM (test Daten_Pro INNER JOIN " & _
- "Daten_HELP ON Daten_Pro.ZEICHNR = Daten_HELP.ZEICHNR AND Daten_Pro.ANDR = Daten_Help.ANDR AND Daten_Pro.BLATTNR = Daten_HELP.BLATTNR) " & _
- "VALUES(@ZEICHNR, @POSNR, @QUANTITY, @ELMNR) ", con)
Sobald ich dann diesen Code nutze erhalte ich ständig Syntax Fehler Semikolon (;)
Hat jemand eine Idee wie ich das lösen könnte?
PS: Die beigefügten Codes sind gekürzt..
Danke
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „medirar“ ()