Hallo,
ich habe eine Datenbank mit mehreren Tabellen (Lagerübersicht, Cyan, Gelb...) . Auf einer Form möchte ich einen neuen Datensatz in Tabelle "Lagerübersicht" speichern. Dabei wird bei Öffnung dieser Form eine Combobox mit den Spaltenwerten einer anderen Tabelle befüllt, je nach dem um Welche Artikelgrupe (Label8.Text) es sich handelt.
Nun kann man einen dieser "Tondercodes" auswählen und dazu eine Einbuchung durchführen.
Es funktioniert alles, bis auf der Update-Befehl. Ich möchte, dass der Lagerstand in der Tabelle (definiert durch Label8) bei dem Datensatz (definiert durch Code = CodeComboBox) mit dem neuen überschrieben wird.
Die Werte aus dem Update-Befehl wurden schon per Setzung eines Haltepunktes kontrolliert und eine Fehlermeldung erscheint ebenso nicht.
ich habe eine Datenbank mit mehreren Tabellen (Lagerübersicht, Cyan, Gelb...) . Auf einer Form möchte ich einen neuen Datensatz in Tabelle "Lagerübersicht" speichern. Dabei wird bei Öffnung dieser Form eine Combobox mit den Spaltenwerten einer anderen Tabelle befüllt, je nach dem um Welche Artikelgrupe (Label8.Text) es sich handelt.
Nun kann man einen dieser "Tondercodes" auswählen und dazu eine Einbuchung durchführen.
VB.NET-Quellcode
- 'Datenbanverbindung
- Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Printertool.mdb")
- con.Open()
- Dim Anfangsbestand As Int32 = CInt(TextBox1.Text)
- Dim Buchungsbestand As Int32 = CInt(BuchungsmengeTextBox.Text)
- If Buchungsbestand > Anfangsbestand Then
- MessageBox.Show("Die eingegebene Buchungsmenge würde den Lagerbestand unterschreiten!")
- Else
- Dim Lagerbestand = CInt(Anfangsbestand - Buchungsbestand)
- LagerstandTextBox.Text = Lagerbestand.ToString
- 'Aktualisierung des neuen Lagerstandes
- Dim d As OleDbCommand = New OleDbCommand("UPDATE '" & Label8.Text & "' SET `Lagerstand`='" & LagerstandTextBox.Text & "' WHERE '" & Label11.Text & "'='" & CodeComboBox.Text & "'", con)
- Dim drv = DirectCast(Me.LagerübersichtBindingSource.Current, DataRowView)
- Me.Validate()
- drv("Benutzer(Datensatzinfo)") = Environment.UserName
- drv("Datum(Datensatzinfo)") = heutigesDatum
- drv("Zeit(Datensatzinfo)") = jetzigeUhrzeit
- Me.LagerübersichtBindingSource.EndEdit()
- Me.TableAdapterManager.UpdateAll(Me.PrintertoolDataSet)
- MessageBox.Show("Daten wurden gespeichert!")
- End If
Es funktioniert alles, bis auf der Update-Befehl. Ich möchte, dass der Lagerstand in der Tabelle (definiert durch Label8) bei dem Datensatz (definiert durch Code = CodeComboBox) mit dem neuen überschrieben wird.
Die Werte aus dem Update-Befehl wurden schon per Setzung eines Haltepunktes kontrolliert und eine Fehlermeldung erscheint ebenso nicht.