我想進口與此代碼的文本文件導入Access 2007數據庫文件:沒有爲一個或多個必需的參數給定值 - 導入文本訪問
Dim test As New cAccess
test.Connect()
test.Command.Connection = test.Connection
test.Command.CommandText =
"insert into kvks " &
"select f1 as artnr, f2 as [lfdnr-kal], f3 as saln, f4 as suchbegriff, f5 as wert, f6 as eh " &
"from [Text;FMT=Delimited;HDR=No;CharacterSet=850;DATABASE=" & txtKvks.Text.Substring(0, txtKvks.Text.LastIndexOf("\")) & "].[" & txtKvks.Text.Substring(txtKvks.Text.LastIndexOf("\") + 1) & "]"
Dim start As DateTime = Now
test.Command.ExecuteNonQuery()
但我得到的錯誤「沒有價值給出一個或多個所需的參數「。
該文本文件用分號分隔(;
)。起初我認爲,這是因爲它標識了一行作爲一個字段,因爲標準的分隔符逗號,然後當然其他字段丟失。
我也在同一個目錄下插入了一個schema.ini文件,這個文件存儲在這個目錄中,但結果相同。
可能是什麼問題?
事實上,我在csv文件中有頭文件。所以我更正了SQL語法:'HDR = Yes'和'select *'。我現在沒有得到上面的錯誤信息,而是一個新的:inster into命令有一個未知的字段名稱:'ARTNR; LFDNRKAL; SALN; SUCHBEGRIFF; WERT; EH」。看來,分號不被識別。爲什麼? – derstauner 2014-10-19 16:04:19
您仍然需要一個帶有Format = Delimited(;)的「schema.ini」文件,這樣分號將被識別爲字段分隔符。 – 2014-10-19 17:30:17
但我已經有這個 我也有一個acces數據與這個領域:ARTNR,LFDNRKAL,SALN,SUCHBEGRIFF,WERT,EH。 我有文件夾,其中csv文件位於一個schema.ini文件: [KVKS_1H2_20141001.csv] 格式=分隔(;) ColNameHeader =真 我有此SQL命令: 「插入到kvks select * from [Text; FMT = Delimited; HDR = Yes; CharacterSet = 850; DATABASE =「&txtKvks.Text.Substring(0,txtKvks.Text.LastIndexOf(」\「))&」]。[「 &txtKvks.Text.Substring(txtKvks.Text.LastIndexOf(「\」)+ 1)&「]」 它應該識別分號。我錯了什麼? – derstauner 2014-10-19 18:26:12