直接贴代码
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str As String
Dim cn1 As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs1 As New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=" & Trim(txtXLS.Text) & ";Extended Properties='Excel 8.0;HDR=Yes'"
cn.Open
rs.Open "select * from [" & Trim(cmbSheet.Text) & "$]", cn, adOpenKeyset, adLockOptimistic
str = "Driver={SQL Server};Server=" & Trim(txtServerName) & ";DataBase=" & Trim(txtDatabaseName) & ";UID=" & Trim(txtUsername) & ";PWD=" & Trim(txtPassword) & ";"
cn1.Open str
'On Error GoTo FindTable
Dim TableStr As String
TableStr = Trim(txtDatabaseName) & ".Owner." & Trim(txtTableName)
Dim aSQL As String
aSQL = "select count(*) from sysobjects where id = object_id('" & Trim(TableStr) & "')"
If cn1.Execute(aSQL) = 0 Then MsgBox "1"运行后错误出现在,最后一行说cn1.execute类型不匹配
有人知道怎么解决吗?

解决方案 »

  1.   

    Execute 方法 (ADO Connection)
          执行指定的查询、SQL 语句、存储过程或特定提供者的文本等内容。语法对于非按行返回的命令字符串:connection.Execute CommandText, RecordsAffected, Options 对于按行返回的命令字符串:Set recordset = connection.Execute (CommandText, RecordsAffected, Options)返回值返回 Recordset 对象引用。
      

  2.   

    rs.Open "select * from [" & Trim(cmbSheet.Text) & "$]", cn, adOpenKeyset, adLockOptimistic你先前写的这个
      

  3.   

    那再请问如何判断recordset,去判断表是否存在呢?if recordset= ? then msgbox "表已经存在"
      

  4.   

    表不存在执行sql语句时会报错,问什么要判断表的存在,这还不确定?
      

  5.   

    我知道了,用
    if rs1 is nothing then ..
    或者
    if rs1.eof then ..
    判断不过也很谢谢你.+满分