Datensätze in Accsess schreiben ODBC

16/03/2008 - 09:21 von Claus-Rainer Fischer | Report spam
Hallo NG,

seit làngerem habe ich ein Problem das ich nicht lösen kann. Grundsàtzlich
sollen Daten in eine Accsess-Tabelle geschrieben werden. Die Tabellennamen
beginnen zwingend mit einer Zahl, im Tabellennamen gibt es zudem ein -
Zeichen.
Durch einen Beitrag in dieser NG habe ich erfahren wie man diese Tabellen
anspricht um DS zu lesen.
Nun sollen DS auch in diese tabellen geschrieben werden. Ich habe die
Routine etwas angepasst um mein eigentliches Probelm besser darstellen zu
können.
Public Sub SchreibeDS(ByVal Datenliste As ArrayList)

Dim HilfsDate As Date = "#12.12.1963#"

Dim HilfsVar1 As Double = 1234567

Dim Hilfsvar2 As Long = 4321

Dim cn01 As OdbcConnection

Dim InsertTabDaten As OdbcCommand

Dim stCn01 As String = "DSN=PWWA"

Dim sSql01 As String

Dim I As Integer



sSql01 = "INSERT INTO [10-711AbschlagVerlauf]
([10-711AbschlagVerlauf].[AbschlagTotalDatum1], [10-711AbschlagVerlauf].

sSql01 = "INSERT INTO [10-711AbschlagVerlauf]
([10-711AbschlagVerlauf].[AbschlagTotalDatum1],
[10-711AbschlagVerlauf].[AbschlagTotalWert1]) VALUES(@AbschlagTotalDatum1,
@AbschlagTotalWert1)"



cn01 = New OdbcConnection(stCn01)

cn01.Open()

InsertTabDaten = New OdbcCommand(sSql01, cn01)

InsertTabDaten.Parameters.Add("@AbschlagTotalDatum1", OdbcType.DateTime)

InsertTabDaten.Parameters.Add("@AbschlagTotalWert1", OdbcType.Double)

InsertTabDaten.Parameters("@AbschlagTotalDatum1").Value = HilfsDate

InsertTabDaten.Parameters("@AbschlagTotalWert1").Value = HilfsVar1

InsertTabDaten.ExecuteScalar()

cn01.Close()


End Sub

Der Versuch das Programm auszuführen wird mit der Fehlermeldung:

ERROR [07002] [Microsoft][ODBC Microsoft Access Driver] 2 Parameter wurden
erwartet, aber es wurden zu wenig Parameter übergeben.

abgebrochen. Versuche den SQLStr zu àndern führen zu einem Error im der
Abfrage.

Hat jemand eine Idee?

Gruß

Claus-Rainer Fischer
 

Lesen sie die antworten

#1 Peter Götz
16/03/2008 - 11:12 | Warnen spam
Hallo Claus-Reiner,

sSql01 = "INSERT INTO [10-711AbschlagVerlauf]
([10-711AbschlagVerlauf].[AbschlagTotalDatum1],
[10-711AbschlagVerlauf].[AbschlagTotalWert1]) VALUES(@AbschlagTotalDatum1,
@AbschlagTotalWert1)"



statt

VALUES(@AbschlagTotalDatum1, > @AbschlagTotalWert1)

schreibe

VALUES(?, ?)

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen