我寫了這個VB6代碼來犯的MS Access dB的插入SQL查詢提交MS Access中插入查詢寫在數據庫中。 MsgBox顯示0個受影響的行。但是當我在MS Access軟件上手動運行查詢時,它工作正常,有2個受影響的行。無法通過Visual Basic 6的
任何人都可以幫助我嗎?
我寫了這個VB6代碼來犯的MS Access dB的插入SQL查詢提交MS Access中插入查詢寫在數據庫中。 MsgBox顯示0個受影響的行。但是當我在MS Access軟件上手動運行查詢時,它工作正常,有2個受影響的行。無法通過Visual Basic 6的
任何人都可以幫助我嗎?
您可以使用 「Execute方法(ADO連接)」,見http://msdn.microsoft.com/en-us/library/windows/desktop/ms675023%28v=vs.85%29.aspx,對於一個例子:
Private Sub InsertData()
Dim sql As String, num As Long, Con As New adodb.Connection
sql = "INSERT INTO Presenze(Enterprise, Employss, mYear, mMonth, mDay, WorkHours) SELECT T.[Enterprise], P.UserCode, T.[Yr], T.[Mnth], T.[Dy], T.[WorkHRS] FROM TableData T INNER JOIN Personal P On P.PID= T.[PID]"
Con.Open "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" & App.Path + "\Archive.mdb" & ";PWD="
Con.Execute (sql, num, adExecuteNoRecords)
If Con.State = 1 Then
Con.Close
Set Con = Nothing
End If
MsgBox num & " records were affected"
End Sub
但是爲什麼在您打開並使用它之後查看Connection是否打開?順便說一句,魔法數字不好,可以嗎?你想要的是'adStateOpen'。 – Bob77 2014-09-24 19:04:22
可以驗證連接字符串是否有效?如果你的SQL正在工作,那應該告訴你,你沒有連接到數據庫,或者你發送SQL到數據庫的方式是不正確的。 (或者您的顯示行的方法影響不正確) – 2014-09-24 17:45:25
連接正在工作。我使用這種方法來創建一個新的表,它的工作原理。當我嘗試插入插件時沒有任何影響。 – EBalla 2014-09-24 17:49:13
這是看到+用於concatentation,並可能導致微妙的錯誤的眼睛震顫。很好的工作......直到失敗。 – Bob77 2014-09-24 19:06:27