0
我的excel VBA應用程序出現問題。我使用我的excel VBA連接到MySQL以從數據庫中獲取一些值。查詢是一個「左外連接」,它將表1的非現有數據與表2連接起來。表1有26000行,表2有320000行。我的查詢的更多細節可以在下面的鏈接中找到。Excel VBA程序停止執行MySQL查詢
MySQL optimized query for not in
VBA代碼是工作完全正常,直到今天早上。我得到一個「」發送命令到程序「出現問題」在早上警告。但是,我只是忽略了警告並執行了程序。有效。停止該程序後,我決定修復上述錯誤。我剛剛爲Microsoft網站的錯誤執行了「修復」解決方案,並且我的程序停止執行上述查詢。對於會發生什麼,我感到無能爲力。
- 我重新安裝了兩次excel(微軟專業加2010),但沒用。
- 我在MySQL服務器中運行查詢來檢查查詢是否有問題。它工作得很好,需要大約4分鐘才能執行。
- 我試着改變excel的兼容模式(C:/ program Files(x 86)/ Microsoft Office/Excel)。它沒有幫助。
- 我跑了我的程序大約半個小時,但很奇怪我的程序沒有執行查詢。
- 我相信我可能在不知不覺中改變了我的設置。但即使重新安裝辦公室後,爲什麼我無法執行查詢?
編輯:
Private Sub CommandButton1_Click()
Start
End Sub
Function Start()
Dim f1, f2, f3, Increment
Dim oConn As ADODB.Connection
Dim rsPass As ADODB.Recordset
Dim sql As String
Dim strBatchName, obj, res
Set oConn = New ADODB.Connection
oConn.Open "ramesh"
sql = "My Left outer join query goes here"
Set obj = oConn.Execute(sql)
Do Until obj.EOF
Sleep 1000
f1 = obj.Fields(0).Value
f2 = obj.Fields(1).Value
f3 = obj.Fields(2).Value
Increment = GetMaximumID
Search f1:=f1, f2:=f2, f3:=f3,
Increment:=Increment
obj.MoveNext
Loop
oConn.Close
End Function
Function GetMaximumID() As Integer
Dim oConn As ADODB.Connection
Dim rsPass As ADODB.Recordset
Dim sql As String
Dim Increment, obj
Set oConn = New ADODB.Connection
oConn.Open "ramesh"
sql = "SELECT max(id) FROM AutoIncrementor"
Set obj = oConn.Execute(sql)
Increment = obj.Fields(0).Value
oConn.Close
GetMaximumID = Increment
End Function
Function Search goes here
我們幾乎不可能猜測出什麼問題,特別是沒有代碼來查看... –
我已經添加了一些代碼。希望它可能夠了。如果您需要更多信息,我可以將其發佈到私人聊天窗口中。 – Ramesh
那麼,它錯誤的是什麼? –