【发布时间】:2015-02-12 15:24:35
【问题描述】:
我正在编写一个宏,我想通过该宏从名为 login 的服务器表中删除工作表 2 的 A 列中的几个名称。
数据库名是“my_db”,表名是登录名。我调用连接来连接到服务器数据库。以下是完整代码:-
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim Sql As String
Sub Button1_Click()
Dim Ws As Worksheet
Dim Var As String
Dim i As Integer
i = 1
Set Ws = Worksheets("Sheet2")
Var = "login"
Sql = "name"
Call Connection
Do
Sql = " Delete From " & " " & Var & "" & " Where name" = "Ws.Cells(i, 1)"
Call Connection
i = i + 1
Loop Until Ws.Cells(i, 1) = ""
MsgBox "All entries deleted from login table"
End Sub
Dim strUserName As String
Dim strPassword As String
Dim ConnectString As String
Set cnt = New ADODB.Connection
strServerName = "localhost"
strDatabaseName = "my_db"
strUserName = "root"
strPassword = "root1"
ConnectString = "DRIVER={MySQL ODBC 5.1 Driver};" & _
"SERVER=" & strServerName & _
";DATABASE=" & strDatabaseName & ";" & _
"USER=" & strUserName & _
";PASSWORD=" & strPassword & _
";OPTION=3;"
With cnt
.CursorLocation = adUseClient
.Open ConnectString
.CommandTimeout = 0
Set rst = .Execute(Sql)
End With
'rst.Close
'cnt.Close
Set rst = Nothing
Set cnt = Nothing
End Sub
但条目没有被删除。 SQL语法有错误,谁能帮我解决一下sql语法?
【问题讨论】:
-
不错的代码。你的问题是什么?
-
我没有收到任何错误,但表条目没有被删除。要我发帖吗,呼叫连接代码?
-
是的,什么叫连接?你在哪里发送查询?
-
@LorenzMeyer :我已经添加了完整的代码,我猜sql查询中有一些语法错误。
-
你添加的代码不好。您错过了 Sub 声明。