2014-02-21 134 views
0

我正在執行以下VBA代碼,並且出現運行時錯誤,指出該對象是必需的。我嘗試過所有建議的解決方案,但無法解決問題。運行時錯誤'424':對象必需

Sub connect() 
Dim Password As String 
Dim SQLStr As String 
Dim Server_Name As String 
Dim User_ID As String 
Dim Database_Name As String 
Dim Abbrevation As String 
Dim Abbrev_Num As String 
Set rs = CreateObject("ADODB.Recordset") 'EBGen-Daily 
Server_Name = Worksheets("Sheet2").Range("b2").Value 
Database_Name = Worksheets("Sheet2").Range("b3").Value ' Name of database 
User_ID = Worksheets("Sheet2").Range("b4").Value 'id user or username 
Password = Worksheets("Sheet2").Range("b5").Value 'Password 

Set Cn = CreateObject("ADODB.Connection") 'NEW STATEMENT 
Cn.Open "Driver={MySQL ODBC 5.2 ANSI Driver};Server=" & Server_Name & ";Database=" & Database_Name & _ 
";Uid=" & User_ID & ";Pwd=" & Password & ";" 
myRow = 1 
myCol = 7 
Abbrevation = Worksheets("Sheet2").Cells(myRow, myCol) 
myCol = myCol + 1 
Abbrev_Num = Worksheets("Sheet2").Cells(myRow, myCol) 

SQLStr = "INSERT INTO acct_abbr(abbrev,number) VALUES('" & Abbrevation & "', '" & Abbrev_Num & "');" 
DoCmd.RunSQL SQLStr 
rs.Close 
Set rs = Nothing 
Cn.Close 
Set Cn = Nothing 

End Sub 
+0

假設'DoCmd'是一個全局對象變量? –

+0

@PankajJaju [DoCmd是一個內置的VBA對象](http://msdn.microsoft.com/en-us/library/office/aa223114%28v=office.11​​%29.aspx)。 –

+1

在哪個語句中發生錯誤?您是否熟悉如何調試VBA代碼? –

回答

2

Excel無法識別DoCmd。試試這個。

'DoCmd.RunSQL SQLStr 
Cn.Execute (SQLStr) 
+0

是的,它的工作。謝謝。 –