Hallo!
Habe mir ein Prog geschrieben das Daten aus einer Access Datenbank lädt und rein schreibt.
Das lesen aus der Datenbank ist kein Problem nur das einfügen macht mir Probleme
Zitat: |  |
Hier mal die Tabellenstruktur:
Nummer AutoWert
AnwenderNr Zahl
Kennzeichen Text
Typ Text
Bezeichnung Text
EVO-Nummer Zahl
Bestell-Nr Text
Serien-Nr Text
Speicher Zahl
BUS-System Text
MAC-Adresse Text
Maßnahme Text
Inst-Datum Datum/Uhrzeit
Netzwerk Ja/Nein
HDD1 Zahl
HDD2 Zahl
G-Karte Text
CD/DVD Text
Brenner Text
Lieferant Text
Bemerkung Text
|  |
Hier dann der Quelltext beim Klicken eines Buttons mit dem Insert:
Private Sub cmdSpeichern_Click()
Dim rs As ADODB.Recordset
Dim AnwenderNr As Integer
Dim qry As String
Set rs = New ADODB.Recordset
If IsNull(AnwenderNr) Then
AnwenderNr = 0
End If
If IsNull(cmbKennzeichen.Text) Then
cmbKennzeichen.Text = ""
End If
If IsNull(txtEVONr.Text) Then
txtEVONr.Text = 0
End If
If IsNull(cmbTyp.Text) Then
cmbTyp.Text = ""
End If
If IsNull(txtBestellNr.Text) Then
txtBestellNr.Text = ""
End If
If IsNull(txtSerienNr.Text) Then
txtSerienNr.Text = ""
End If
If IsNull(txtRAM.Text) Then
txtRAM.Text = 0
End If
If IsNull(cmbBUS.Text) Then
cmbBUS.Text = ""
End If
If IsNull(txtMAC.Text) Then
txtMAC.Text = ""
End If
If IsNull(txtInstDatum.Text) Then
txtInstDatum.Text = ""
End If
'If IsNull(optNetzwerk.Value) Then
' optNetzwerk.Value = ""
'End If
If IsNull(txtHDD1.Text) Or (txtHDD1.Text = "") Then
txtHDD1.Text = 0
End If
If IsNull(txtHDD2.Text) Or (txtHDD2.Text = "") Then
txtHDD2.Text = 0
End If
If IsNull(cmbGrafikkarte.Text) Then
cmbGrafikkarte.Text = ""
End If
If IsNull(txtCDDVD.Text) Then
txtCDDVD.Text = ""
End If
If IsNull(txtBrenner.Text) Then
txtBrenner.Text = ""
End If
If IsNull(cmbLieferant.Text) Then
cmbLieferant.Text = ""
End If
If IsNull(txtBemerkung.Text) Then
txtBemerkung.Text = ""
End If
If Not txtInstDatum.Text = "" Then
txtInstDatum.Text = CDate(txtInstDatum.Text)
End If
qry = "INSERT INTO [INV-Geräte](" & _
"[Anwender-Nr],Kennzeichen,Typ,[EVO-Nummer],[Bestell-Nr],[Serien-Nr],Speiche" & _
",[BUS-System],[MAC-Adresse],[Inst-Datum],HDD1,HDD2,[G-Karte],[CD/DVD],Brenn" & _
"r,Lieferant,Bemerkung) VALUES (" & AnwenderNr & ",'" & cmbKennzeichen.Text & _
"', '" & cmbTyp.Text & "', " & txtEVONr.Text & ",' " & txtBestellNr.Text & _
"',' " & txtSerienNr.Text & "',' " & txtRAM.Text & "',' " & cmbBUS.Text & "'," & _
"'" & txtMAC.Text & "', '" & txtInstDatum.Text & "', " & txtHDD1.Text & ", " _
& txtHDD2.Text & ",' " & cmbGrafikkarte.Text & "', '" & txtCDDVD.Text & "','" & _
"" & txtBrenner.Text & "', '" & cmbLieferant.Text & "', '" & _
txtBemerkung.Text & "')"
'& IIf(IsNull(varInitialNr), "Null","'" & varInitialNr & "'") &
'cmbName füllen
rs.Open qry, conn, adOpenStatic, adLockPessimistic
rs.Close
End Sub Die Fehlermeldung die ausgegeben wird:
Datentypen in Kriterienausdruck unverträglich.
Hier die Ausgabe aus dem Direktfenster:
Zitat: |  |
?qry
INSERT INTO [INV-Geräte]([Anwender-Nr],Kennzeichen,Typ,[EVO-Nummer],[Bestell-Nr],[Serien-Nr],Speicher,[BUS-System],[MAC-Adresse],[Inst-Datum],HDD1,HDD2,[G-Karte],[CD/DVD],Brenner,Lieferant,Bemerkung) VALUES (0,'BS', 'Eizo F931 21"', 12345,' 654123',' 5214236',' ',' ', '', '15.05.2008', 0, 0,' ', '',' ', 'HCT', '')
|  |
Ich weiss nicht mehr wo ich suchen soll, weil das komische ist wenn ich eien Abfrage unter Acces erstelle und die Ausgabe aus dem Direktfenster dareinpacke macht er die Abfrage wunderbar ohne Fehler.
Könnt ihr mir vllt weiterhlefen wo VB damit ein Problem hat?
Wäre euch dankbar
greetz chris |