Public Sub TransactSQL(ByVal sql As String)
Dim con As ADODB.Connection
Dim strConnection As String
Dim strArray() As String
Set con = New ADODB.Connection                  '创建连接
On Error GoTo TransactSQL_Error
    strConnection = "Provider=Microsoft.jet.oledb.4.0;Data Source=" & App.Path & "\"
    strConnection = strConnection & "Client.mdb"
    strArray = Split(sql)              '就是这句,到底是什么意思啊
    con.Open strConnection                      '打开连接
    con.Execute sql                             '执行命令
    iflag = 1
TransactSQL_Exit:
    Set con = Nothing
    Exit Sub
TransactSQL_Error:
    MsgBox "查询错误:" & Err.Description
    iflag = 2
    Resume TransactSQL_Exit
End Sub

解决方案 »

  1.   

    没什么意思,可能写错了,完全没必要!
    执行结果:(strArray(0)=sql)=True
      

  2.   

    strArray = Split(sql)
    将字符串分隔为数组!!
      

  3.   

    好象没有什么用。
    描述返回一个下标从零开始的一维数组,它包含指定数目的子字符串。语法Split(expression[, delimiter[, count[, compare]]])Split函数语法有如下几部分:部分 描述 
    expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。 
    delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。 
    count 可选的。要返回的子字符串数,–1表示返回所有的子字符串。 
    compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。 
    设置值compare参数的设置值如下:常数 值 描述 
    vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。 
    vbBinaryCompare 0 执行二进制比较。 
    vbTextCompare 1 执行文字比较。 
    vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 
      

  4.   

    在你这段代码里是没有什么意思。其实你看一下split函数的帮助就知道了。这句话的的意思,就是如果sql语句里有空格的话,就把它分开同时放到数组strarray里去。举个例子strarray=split("123 456 789"),执行后的结果就是strarray(0)="123",strarray(1)="456",strarray(2)="789"