我想從excel(2013)提交用戶表單數據到訪問數據庫。從excel用戶表單提交數據到密碼保護訪問數據庫
沒有密碼,這段代碼工作正常。
Private Sub Addoer_Click()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim dbPath
dbPath = Sheet16.Range("K18").Value
Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=" & dbPath
現在我想用同樣的方法將數據從excel發送到密碼保護的數據庫(每個用戶有不同的密碼)。在Excel文件中,用戶ID是在Sheet16.Range( 「K17」)和密碼是在Sheet16.Range( 「K19」)
userid = Sheet16.Range("K17").Value
pw = Sheet16.Range("K19").Value
我改變了cnn.open線以下
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data source=" & dbPath, userid, pw, -1
和我收到此錯誤:
錯誤-2147217843(無法啓動application.The工作組信息文件丟失或完全由其他用戶打開)
我改變了cnn.open行至該
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=" & dbPath, """ & userid & """, """ & pw & """, -1
,我得到這個錯誤
錯誤-2147217843(不是有效的帳戶名或密碼)。
有沒有人可以幫助指出我做錯了什麼地方?
的ADODB連接語法要求提供用戶ID和密碼被寫入字符串。如果我已經將它定義爲像上面那樣的某個單元格的值,那麼我不必在它周圍放置'''? – KZMN
是的,我可以在訪問數據庫中設計表和查詢。是否意味着爲了使代碼工作,我必須將數據庫設置爲非排他性的? – KZMN
@KZMN不確定,但我猜想,如你所說,當它們是常規連接字符串的一部分時,只需要用戶名和密碼的雙引號; if你將它們作爲參數傳遞給'conn.Open',那麼你可能不需要它們。 –