2015-04-07 54 views
0

經過9個小時的研究和試驗和錯誤之後,我遇到了這個當前的問題,我正在用我寫的另一個腳本將數據輸入數據庫。我將在代碼視圖中簡化此問題的焦點。我有3個字段,其中一個是SQL末尾的時間戳,例如.... & now()&「')」。插入FIND,但通過變量輸入框插入空白數據。vbScript - 輸入框到.accdb中,空白?

Option Explicit 
Dim ib 
Dim sql1, constring, con 
constring="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\users\user\documents\database1.accdb;" 
sql1="INSERT INTO table1 (column1) VALUES('" & ib & "')" 
set con = createobject("adobd.connection") 
con.open constring 

Do 
    ib=inputbox("Input Data") 

    IF ib="quit" OR ib="QUIT" THEN 
    con.close 

    ELSE con.execute sql1 
    End If 
Loop WHILE ib<>"quit" AND ib<>"QUIT" 

它將行追加到數據庫中,但它們是空白的。我設計了這張桌子,拍下了短小的< 255個字符。

我也從數據庫中運行了一個測試查詢,它插入我告訴它的內容,但由於某種原因,輸入框數據並未將其添加到表中。

回答

0

sql1="INSERT INTO table1 (column1) VALUES('" & ib & "')" 

concats一個(空)ibsql1之前循環。在您退出之前,con.execute sql1會將其插入數據庫。

嘗試

con.execute 「INSERT INTO表1(列1)VALUES( '」 & IB & 「')」

和優化時,它的工作原理。

+0

我記得這樣做值執行字符串,但實際的語句我曾導致過載錯誤..也許我做錯了什麼,生病不得不重新訪問它明天 –

0
Do 
    ib=inputbox("Input Data") 
    If LCase(ib) <> "quit" THEN 
     con.execute "INSERT INTO table1 (column1) VALUES('" & ib & "')" 
    End If 
Loop WHILE ib<>"quit" AND ib<>"QUIT" 
con.close 

您需要重新創建你會爲每個您檢索

+0

不會創建2行然後呢?一個在column1中有一個值,在第二個列中爲null ..另一個在column1中有null而列2中有值?請原諒我的無知,因爲我主要處理excel數據應用程序,但現在認識到使用access和sql在過去一個月的價值 –

+0

我明白了 - 謝謝!所以我實際上可以刪除已定義的sql1 –