Hi hab etwas was ich absolut nicht verstehe.
Habe eine Access Datenbank mit einer tabelle für Kunden und eine weitere für die Fahrzeuge.
In beiden gibt es Spalten für Bilder als Ole Objekt alle identisch formatiert
In der Kunden Datei gibt es zei Spalten für Fotos welche mit folgendem Code aktualisiert werden können.
Alles funktioniert Fehlerfrei
mit dem gleichen Code spreche ich die 4 Fotofelder in der Fahrzeuge Tabelle an, bis auf den Foto Update funktioniert auch hier alles nur die Fotos geben anschließend einen Fehler aus.
Private Sub Btnupdate_Click_1(sender As Object, e As EventArgs) Handles Btnupdate.Click
If Txtfahrzeugname.Text.Equals(String.Empty) And
Txtfahrzeugmarke.Text.Equals(String.Empty) And
CboxTyp.Text.Equals(String.Empty) And
Txtfahrzeuggetriebe.Text.Equals(String.Empty) And
Txtfahrzeugkennzeichen.Text.Equals(String.Empty) Then
MessageBox.Show("Es sind nicht alle Felder ausgefüllt", "Bitte füllen Sie alle Felder aus", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Else
Try
Dim mstream As New System.IO.MemoryStream
PictureBox1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)
arrimage1 = mstream.GetBuffer
Dim filesize As UInt32
filesize = mstream.Length
mstream.Close()
Dim mstream2 As New System.IO.MemoryStream
PictureBox2.Image.Save(mstream2, System.Drawing.Imaging.ImageFormat.Jpeg)
arrimage2 = mstream2.GetBuffer
Dim filesize2 As UInt32
filesize2 = mstream2.Length
mstream2.Close()
Dim mstream3 As New System.IO.MemoryStream
PictureBox3.Image.Save(mstream3, System.Drawing.Imaging.ImageFormat.Jpeg)
arrimage3 = mstream3.GetBuffer
Dim filesize3 As UInt32
filesize3 = mstream3.Length
mstream3.Close()
Dim mstream4 As New System.IO.MemoryStream
PictureBox4.Image.Save(mstream4, System.Drawing.Imaging.ImageFormat.Jpeg)
arrimage4 = mstream4.GetBuffer
Dim filesize4 As UInt32
filesize4 = mstream4.Length
mstream4.Close()
conn.ConnectionString = Myconnection
conn.Open()
sql = "UPDATE tblfahrzeuge SET Modell=@Modell, Marke=@Marke, Art=@Art, Baujahr=@KFZ_JAHR, Kennzeichen=@Kennzeichen, HU=@HU, Sitze=@KFZ_SITZE, Extras=@Extras, Zustand=@Zustand, Tagesmiete=@KFZ_MIETE, Standort=@Standort, Kilometerstand=@Kilometerstand, Tankstand=@Tankstand, Inspektion=Inspektion, FOTO1=@FOTO1, FOTO2=@FOTO2, FOTO3=@FOTO3, FOTO4=@FOTO4, Farbe=@Farbe, MANGEL_FRONT=@MANGEL_FRONT, MANGEL_LINKS=@MANGEL_LINKS, MANGEL_RECHTS=@MANGEL_RECHTS, MANGEL_HECK=@MANGEL_HECK, Fahrzeugnummer=@Fahrzeugnummer, Kraftstoff=@Kraftstoff, Getriebe=@Getriebe, Versicherung=@Versicherung, VersicherungsNummer=@VersicherungsNummer, Vermerk=@Vermerk, Praemie=@Praemie, FahrgestellNummer=@FahrgestellNummer , RadioCode=@RadioCode WHERE KFZ_ID=" & Me.Text
cmd.Connection = conn
cmd.CommandText = sql
cmd.Parameters.AddWithValue("@Modell", Txtfahrzeugname.Text)
cmd.Parameters.AddWithValue("@Marke", Txtfahrzeugmarke.Text)
cmd.Parameters.AddWithValue("@Art", CboxTyp.Text)
cmd.Parameters.AddWithValue("@KFZ_JAHR", DateTimePicker1.Text)
cmd.Parameters.AddWithValue("@Kennzeichen", Txtfahrzeugkennzeichen.Text)
cmd.Parameters.AddWithValue("@HU", DateTimePicker2.Text)
cmd.Parameters.AddWithValue("@KFZ_SITZE", Txtfahrzeugsitze.Text)
cmd.Parameters.AddWithValue("@Extras", Txtfahrzeugextras.Text)
cmd.Parameters.AddWithValue("@Zustand", Txtfahrzeugzustand.Text)
cmd.Parameters.AddWithValue("@KFZ_MIETE", TxtTagesmiete.Text)
cmd.Parameters.AddWithValue("@Standort", TxtStandort.Text)
cmd.Parameters.AddWithValue("@Kilometerstand", TxtKilometer.Text)
cmd.Parameters.AddWithValue("@Tankstand", TxtTank.Text)
cmd.Parameters.AddWithValue("@Inspektion", TextBox5.Text)
cmd.Parameters.AddWithValue("@FOTO1", arrimage1)
cmd.Parameters.AddWithValue("@FOTO2", arrimage2)
cmd.Parameters.AddWithValue("@FOTO3", arrimage3)
cmd.Parameters.AddWithValue("@FOTO4", arrimage4)
cmd.Parameters.AddWithValue("@Farbe", TxtFarbe.Text)
cmd.Parameters.AddWithValue("@MANGEL_FRONT", TxtMangel1.Text)
cmd.Parameters.AddWithValue("@MANGEL_LINKS", TxtMangel2.Text)
cmd.Parameters.AddWithValue("@MANGEL_RECHTS", TxtMangel3.Text)
cmd.Parameters.AddWithValue("@MANGEL_HECK", TxtMangel4.Text)
cmd.Parameters.AddWithValue("@Fahrzeugnummer", TxtNummerIntern.Text)
cmd.Parameters.AddWithValue("@Kraftstoff", CboxSorte.Text)
cmd.Parameters.AddWithValue("@Getriebe", Txtfahrzeuggetriebe.Text)
cmd.Parameters.AddWithValue("@Versicherung", TextBox2.Text)
cmd.Parameters.AddWithValue("@VersicherungsNummer", TextBox3.Text)
cmd.Parameters.AddWithValue("@Vermerk", TextBox1.Text)
cmd.Parameters.AddWithValue("@Praemie", TextBox4.Text)
cmd.Parameters.AddWithValue("@FahrgestellNummer", TextBox7.Text)
cmd.Parameters.AddWithValue("@RadioCode", TextBox6.Text)
Dim r As Integer
r = cmd.ExecuteNonQuery()
If r > 0 Then
MsgBox("Fahrzeug wurde aktualisiert!")
conn.Close()
Application.DoEvents()
Call Button1_Click(sender, e)
Else
MsgBox("Fahrzeug wurde nicht aktualisiert!")
End If
conn.Close()
Catch ex As Exception
If ex.Message = "Object reference Not Set To an instance Of an Object." Or
ex.Message = "Bitte prüfen Sie die eingegebenen Daten." Then
MessageBox.Show("Es sind nicht alle Felder ausgefüllt", "Bitte füllen Sie alle Felder aus", MessageBoxButtons.OK, MessageBoxIcon.Warning)
conn.Close()
Else
InputBox("", "", ex.Message)
conn.Close()
End If
End Try
End If
End Sub
Woran kann es liegen es sind ja beide Code identisch habe es mehrfach kontrolliert
Habe eine Access Datenbank mit einer tabelle für Kunden und eine weitere für die Fahrzeuge.
In beiden gibt es Spalten für Bilder als Ole Objekt alle identisch formatiert
In der Kunden Datei gibt es zei Spalten für Fotos welche mit folgendem Code aktualisiert werden können.
Code:
Private Sub btnupdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnupdate.Click
If Txtkundenname.Text.Equals(String.Empty) And
Txtwohnort.Text.Equals(String.Empty) And
TxtKontaktnr.Text.Equals(String.Empty) And
Txtfahrerlaubnis.Text.Equals(String.Empty) And
txtemail.Text.Equals(String.Empty) Then
MessageBox.Show("Es sind nicht alle Felder ausgefüllt", "Bitte füllen Sie alle Felder aus", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Else
Try
Dim mstream As New System.IO.MemoryStream
PictureBox1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)
arrImage = mstream.GetBuffer
Dim filesize As UInt32
filesize = mstream.Length
mstream.Close()
Dim mstream2 As New System.IO.MemoryStream
PictureBox2.Image.Save(mstream2, System.Drawing.Imaging.ImageFormat.Jpeg)
arrImage1 = mstream2.GetBuffer
Dim filesize2 As UInt32
filesize2 = mstream2.Length
mstream2.Close()
conn.ConnectionString = Myconnection
conn.Open()
sql = "UPDATE tblmieter SET Anrede=@Anrede, Titel=@Titel, Kunde=@Kunde, Vorname=@Vorname, Geburtsdatum=@Geburtsdatum, Geburtsort=@Geburtsort, WOHNORT=@WOHNORT, STRASSE=@STRASSE, WOHNORT2=@WOHNORT2, STRASSE2=@STRASSE2, FahrerlaubnisNr=@FahrerlaubnisNr, KLASSEN=@KLASSEN, AUSTELLUNGSORT=@AUSTELLUNGSORT, ABLAUFDATUM=@ABLAUFDATUM, Telefon=@KONTAKT_NR, Mobil=@Telefon_NR, EMAIL_ADD=@EMAIL_ADD, FOTO=@FOTO, FOTO1=@FOTO1, LAND=@LAND, AusweisNr=@AusweisNr, AUSWEIS_STADT=@AUSWEIS_STADT, AUSWEIS_ABLAUF=@AUSWEIS_ABLAUF, Vermerk=@Vermerk WHERE ID=" & TxtKundennr.Text
cmd.Connection = conn
cmd.CommandText = sql
cmd.Parameters.AddWithValue("@Anrede", CbxAnrede.Text)
cmd.Parameters.AddWithValue("@Titel", CBoxTitel.Text)
cmd.Parameters.AddWithValue("@Kunde", Txtkundenname.Text)
cmd.Parameters.AddWithValue("@Vorname", TxtVorname.Text)
cmd.Parameters.AddWithValue("@Geburtsdatum", DTPGeburt.Text)
cmd.Parameters.AddWithValue("@Geburtsort", TxtGeburtsort.Text)
cmd.Parameters.AddWithValue("@WOHNORT", Txtwohnort.Text)
cmd.Parameters.AddWithValue("@STRASSE", Txtstrasse.Text)
cmd.Parameters.AddWithValue("@WOHNORT2", Txtwohnort2.Text)
cmd.Parameters.AddWithValue("@STRASSE2", Txtstrasse2.Text)
cmd.Parameters.AddWithValue("@FahrerlaubnisNr", Txtfahrerlaubnis.Text)
cmd.Parameters.AddWithValue("@KLASSEN", Txtfahrerlaubnisklassen.Text)
cmd.Parameters.AddWithValue("@AUSTELLUNGSORT", TxtAustellungsort.Text)
cmd.Parameters.AddWithValue("@ABLAUFDATUM", DateTimePicker1.Text)
cmd.Parameters.AddWithValue("@KONTAKT_NR", TxtKontaktnr.Text)
cmd.Parameters.AddWithValue("@Telefon_NR", TextBox1.Text)
cmd.Parameters.AddWithValue("@EMAIL_ADD", txtemail.Text)
cmd.Parameters.AddWithValue("@FOTO", arrImage)
cmd.Parameters.AddWithValue("@FOTO1", arrImage1)
cmd.Parameters.AddWithValue("@LAND", TxtLand.Text)
cmd.Parameters.AddWithValue("@AusweisNr", TxtAusweisNr.Text)
cmd.Parameters.AddWithValue("@AUSWEIS_STADT", TxtAusweisStadt.Text)
cmd.Parameters.AddWithValue("@AUSWEIS_ABLAUF", DTPAusweis.Text)
cmd.Parameters.AddWithValue("@Vermerk", TextBox2.Text)
Dim r As Integer
r = cmd.ExecuteNonQuery()
If r > 0 Then
MsgBox("Kunde wurde aktualisiert!")
conn.Close()
Call Btnload_Click(sender, e)
Else
MsgBox("Kunde wurde nicht aktualisiert!")
End If
conn.Close()
Catch ex As Exception
If ex.Message = "Object reference not set to an instance of an object." Or
ex.Message = "Bitte prüfen Sie die eingegebenen Daten." Then
MessageBox.Show("Es sind nicht alle Felder ausgefüllt", "Bitte füllen Sie alle Felder aus", MessageBoxButtons.OK, MessageBoxIcon.Warning)
conn.Close()
Else
InputBox("", "", ex.Message)
conn.Close()
End If
End Try
End If
End Sub
Alles funktioniert Fehlerfrei
mit dem gleichen Code spreche ich die 4 Fotofelder in der Fahrzeuge Tabelle an, bis auf den Foto Update funktioniert auch hier alles nur die Fotos geben anschließend einen Fehler aus.
Private Sub Btnupdate_Click_1(sender As Object, e As EventArgs) Handles Btnupdate.Click
If Txtfahrzeugname.Text.Equals(String.Empty) And
Txtfahrzeugmarke.Text.Equals(String.Empty) And
CboxTyp.Text.Equals(String.Empty) And
Txtfahrzeuggetriebe.Text.Equals(String.Empty) And
Txtfahrzeugkennzeichen.Text.Equals(String.Empty) Then
MessageBox.Show("Es sind nicht alle Felder ausgefüllt", "Bitte füllen Sie alle Felder aus", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Else
Try
Dim mstream As New System.IO.MemoryStream
PictureBox1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)
arrimage1 = mstream.GetBuffer
Dim filesize As UInt32
filesize = mstream.Length
mstream.Close()
Dim mstream2 As New System.IO.MemoryStream
PictureBox2.Image.Save(mstream2, System.Drawing.Imaging.ImageFormat.Jpeg)
arrimage2 = mstream2.GetBuffer
Dim filesize2 As UInt32
filesize2 = mstream2.Length
mstream2.Close()
Dim mstream3 As New System.IO.MemoryStream
PictureBox3.Image.Save(mstream3, System.Drawing.Imaging.ImageFormat.Jpeg)
arrimage3 = mstream3.GetBuffer
Dim filesize3 As UInt32
filesize3 = mstream3.Length
mstream3.Close()
Dim mstream4 As New System.IO.MemoryStream
PictureBox4.Image.Save(mstream4, System.Drawing.Imaging.ImageFormat.Jpeg)
arrimage4 = mstream4.GetBuffer
Dim filesize4 As UInt32
filesize4 = mstream4.Length
mstream4.Close()
conn.ConnectionString = Myconnection
conn.Open()
sql = "UPDATE tblfahrzeuge SET Modell=@Modell, Marke=@Marke, Art=@Art, Baujahr=@KFZ_JAHR, Kennzeichen=@Kennzeichen, HU=@HU, Sitze=@KFZ_SITZE, Extras=@Extras, Zustand=@Zustand, Tagesmiete=@KFZ_MIETE, Standort=@Standort, Kilometerstand=@Kilometerstand, Tankstand=@Tankstand, Inspektion=Inspektion, FOTO1=@FOTO1, FOTO2=@FOTO2, FOTO3=@FOTO3, FOTO4=@FOTO4, Farbe=@Farbe, MANGEL_FRONT=@MANGEL_FRONT, MANGEL_LINKS=@MANGEL_LINKS, MANGEL_RECHTS=@MANGEL_RECHTS, MANGEL_HECK=@MANGEL_HECK, Fahrzeugnummer=@Fahrzeugnummer, Kraftstoff=@Kraftstoff, Getriebe=@Getriebe, Versicherung=@Versicherung, VersicherungsNummer=@VersicherungsNummer, Vermerk=@Vermerk, Praemie=@Praemie, FahrgestellNummer=@FahrgestellNummer , RadioCode=@RadioCode WHERE KFZ_ID=" & Me.Text
cmd.Connection = conn
cmd.CommandText = sql
cmd.Parameters.AddWithValue("@Modell", Txtfahrzeugname.Text)
cmd.Parameters.AddWithValue("@Marke", Txtfahrzeugmarke.Text)
cmd.Parameters.AddWithValue("@Art", CboxTyp.Text)
cmd.Parameters.AddWithValue("@KFZ_JAHR", DateTimePicker1.Text)
cmd.Parameters.AddWithValue("@Kennzeichen", Txtfahrzeugkennzeichen.Text)
cmd.Parameters.AddWithValue("@HU", DateTimePicker2.Text)
cmd.Parameters.AddWithValue("@KFZ_SITZE", Txtfahrzeugsitze.Text)
cmd.Parameters.AddWithValue("@Extras", Txtfahrzeugextras.Text)
cmd.Parameters.AddWithValue("@Zustand", Txtfahrzeugzustand.Text)
cmd.Parameters.AddWithValue("@KFZ_MIETE", TxtTagesmiete.Text)
cmd.Parameters.AddWithValue("@Standort", TxtStandort.Text)
cmd.Parameters.AddWithValue("@Kilometerstand", TxtKilometer.Text)
cmd.Parameters.AddWithValue("@Tankstand", TxtTank.Text)
cmd.Parameters.AddWithValue("@Inspektion", TextBox5.Text)
cmd.Parameters.AddWithValue("@FOTO1", arrimage1)
cmd.Parameters.AddWithValue("@FOTO2", arrimage2)
cmd.Parameters.AddWithValue("@FOTO3", arrimage3)
cmd.Parameters.AddWithValue("@FOTO4", arrimage4)
cmd.Parameters.AddWithValue("@Farbe", TxtFarbe.Text)
cmd.Parameters.AddWithValue("@MANGEL_FRONT", TxtMangel1.Text)
cmd.Parameters.AddWithValue("@MANGEL_LINKS", TxtMangel2.Text)
cmd.Parameters.AddWithValue("@MANGEL_RECHTS", TxtMangel3.Text)
cmd.Parameters.AddWithValue("@MANGEL_HECK", TxtMangel4.Text)
cmd.Parameters.AddWithValue("@Fahrzeugnummer", TxtNummerIntern.Text)
cmd.Parameters.AddWithValue("@Kraftstoff", CboxSorte.Text)
cmd.Parameters.AddWithValue("@Getriebe", Txtfahrzeuggetriebe.Text)
cmd.Parameters.AddWithValue("@Versicherung", TextBox2.Text)
cmd.Parameters.AddWithValue("@VersicherungsNummer", TextBox3.Text)
cmd.Parameters.AddWithValue("@Vermerk", TextBox1.Text)
cmd.Parameters.AddWithValue("@Praemie", TextBox4.Text)
cmd.Parameters.AddWithValue("@FahrgestellNummer", TextBox7.Text)
cmd.Parameters.AddWithValue("@RadioCode", TextBox6.Text)
Dim r As Integer
r = cmd.ExecuteNonQuery()
If r > 0 Then
MsgBox("Fahrzeug wurde aktualisiert!")
conn.Close()
Application.DoEvents()
Call Button1_Click(sender, e)
Else
MsgBox("Fahrzeug wurde nicht aktualisiert!")
End If
conn.Close()
Catch ex As Exception
If ex.Message = "Object reference Not Set To an instance Of an Object." Or
ex.Message = "Bitte prüfen Sie die eingegebenen Daten." Then
MessageBox.Show("Es sind nicht alle Felder ausgefüllt", "Bitte füllen Sie alle Felder aus", MessageBoxButtons.OK, MessageBoxIcon.Warning)
conn.Close()
Else
InputBox("", "", ex.Message)
conn.Close()
End If
End Try
End If
End Sub
Woran kann es liegen es sind ja beide Code identisch habe es mehrfach kontrolliert