Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
288to292
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
288to292
288to292
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Leerstring per ADO in Access-Datenbank

Leerstring per ADO in Access-Datenbank
31.07.2003 17:59:57
Peter
Hallo nochmal!
Da sich gestern niemand erbarmt hat mir zu antworten, stelle ich mein Begehr nochmals vor:
Ich greife über ADO auf eine Access-Datenbank zu. Ich erstelle dabei über Recordset.Addnew einen neuen Datensatz und speichere diesen dann. Bei einigen Tabellen-Einträgen lasse ich in der DB leere Zeichenfolgen zu, das wird aber von Excel (ADO) ignoriert! Es kommt also jedesmal, wenn ich versuche einen Leerstring zu übergeben zu einer Fehler-Ausgabe!
Was stimmt nicht? Ist der Code irgendwo falsch?
Dim Conn as New ADODB.Connection
Dim RS as NEW ADODB.Recordset
Conn.Open "File Name=" + Name der UDL-Datei
RS.Open "Tabellen-Name", Conn, adOpenKeyset, adLockOptimistic
with RS
.AddNew
!Spalte = String 'ist String = "" dann erfolgt hier ein Fehler!
.Update
end with
RS.close
Conn.close
Gruß
Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerstring per ADO in Access-Datenbank
31.07.2003 19:56:36
Michael Schirow
Hi Peter,
ich erbarme mich mal ;-)
so funktionierts bei mir:

Sub test_ado()
' ado 3.6 / Excel-2002-SP1
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim dbfile As String, tabname As String
dbfile = "m:\test\test.mdb"
tabname = "mitarbeiter"
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.Open (dbfile)
rs.Open tabname, conn, adOpenKeyset, adLockOptimistic
With rs
.AddNew
' Datentyp text - .value = "" geht
.Fields("Name").Value = ""
' Datentyp Währung
' 80020005 Typkonflikt, falls .value = ""
'          richtig .value = null
.Fields("Gehalt").Value = "0,00"
' Datentyp Long Integer
' 80020005 Typkonflikt, falls .value = ""
'          richtig: .value = null
.Fields("Long").Value = "0"
' Datentyp Datum
' 80020005 Typkonflikt, falls .value = ""
'          richtig: .value = null
.Fields("Geb").Value = "31.12.1960"
.Update
End With
rs.Close
conn.Close
End Sub

HTH, Michael

Anzeige
AW: Leerstring per ADO in Access-Datenbank
31.07.2003 19:59:25
Michael Schirow
vertipperich:
' ado 2.7 / Excel-2002-SP1

AW: Leerstring per ADO in Access-Datenbank
31.07.2003 20:46:43
Peter
Hi, Michael!
Dank dir erstmal für (d)eine Antwort!
Dein Quell-Text unterscheidet sich eigentlich in nichts von meinem, nur ein Unterschied: Excel 2002!
Was soll ich dir sagen? Mein Code läuft UNVERÄNDERT auf einem Excel2002 fehlerlos! Habe ich eben mal ausprobiert! Liegt es echt an ADO 2.7? Problem ist nur, daß ich an Excel/Access97 (ADO 2.1)gebunden bin (arbeits-technisch, da ist man noch nicht so gut ausgerüstet, wie zu Hause!).
Ich habe mir inzwischen mit einige If-Then-Blöcken geholfen:
If String <> "" Then !Tabelle = String
Klappt, ist aber meines Erachtens nur eine Krücke.
Noch'ne Idee?
Gruß
Peter

Anzeige
AW: Leerstring per ADO in Access-Datenbank
31.07.2003 21:12:51
Michael Schirow
Hi Peter,
mit ADO 2.1 + Excel 2002 gehts auch - ansonsten fällt mir nix dazu ein. Musst halt mit der Krücke leben ;-)
schönen Abend noch
Michael

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige