我也不知道。
不过要是我碰到这种情况的话,我就用Cell生帖!

解决方案 »

  1.   

    感谢流星雨,但我不能用CELL生贴
    另外,SET方法也不行,我试过了
      

  2.   

    事先用个adodc1.recordset.close就行了。
      

  3.   

    象这样也行Dim cnn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim rst As New ADODB.Recordset
    Dim strCnn As Stringcnn.Provider = "Microsoft.Jet.OLEDB.3.51"
    cnn.Open App.path + "\xxx.mdb", "admin", ""cmd.ActiveConnection = cnn
    'cmd.CommandText = "select *"rst.LockType = adLockOptimistic
    rst.Open "xx", cnn, , , adCmdTable
      

  4.   

    这是我的一段程序!!
    好用的!
    你看看!
    Private Sub cmddk_Click()
    'On Error Resume Next
    comdialog.DialogTitle = "´ò¿ªExecelÎļþ"
    comdialog.Filter = "ExecelÎļþ|*.xls"
    comdialog.ShowOpen
    File = comdialog.FileName
    If File = "" Then
      Exit Sub
    Else
    flag = True
    If conn.State = adStateOpen Then conn.Close
    conn.Open "Driver={Microsoft Excel Driver (*.xls)};dbq=" & File
    End If
    End Sub
    对了。这里面有一个commandialog.你要添加一个。
      

  5.   

    我倒~~~~~!lzy5042(老山),居然来抢我的生意啊,呵呵!
      

  6.   

    Amoon(阿木):呵呵!!!!我以为你都放弃了。怎么那么长时间都不回???
    我很少回答问题。大部分都是提问!!!呵呵!!!
      

  7.   

    给lzy5042(老山) 和 Amoon(阿木)我们需要的不是连接,因为连接已经成功了,最主要的问题是无法新增一条记录
    with Adodb1.recordset
      .Addnew
      !F1="张三"
      .Update
    End with
    错误在Update时,说表名Sheet1$找不到
      

  8.   

    用EXCEL做数据库,好像不能写入的。
      

  9.   

    啊,没解决啊。
    试试这个吧,我调过的,是可以的,没有错的,........的!    Dim adoCatalog As ADOX.Catalog
        Dim conn As Connection
        Dim intTableIndex As Integer
        Dim intFieldIndex As Integer
        Dim rs As Recordset
        Dim strFieldValues As String
        
        Set conn = New Connection
        Set adoCatalog = New Catalog
        
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""c:\book1.xls"";User ID=Admin;Password=;Extended properties=Excel 5.0"
        conn.Open
        Set adoCatalog.ActiveConnection = conn
            
        For intTableIndex = 0 To adoCatalog.Tables.Count - 1
            Debug.Print adoCatalog.Tables(intTableIndex).Name
        Next
        
        Set rs = New Recordset
        With rs
            .CursorLocation = adUseClient
        End With    rs.Open "select * from [" & adoCatalog.Tables(0).Name & "]", conn
        
        MsgBox rs.RecordCount
        
        For intFieldIndex = 0 To rs.Fields.Count - 1
            strFieldValues = strFieldValues & CStr(intFieldIndex) & ","
        Next
        
        strFieldValues = Left(strFieldValues, Len(strFieldValues) - 1)
        
        conn.Execute "Insert Into [" & adoCatalog.Tables(0).Name & "] Values(" & strFieldValues & ")"
        
        conn.Close
        Set conn = Nothing
        Set adoCatalog = Nothing
      

  10.   

    to Amoon(阿木) 
    Dim adoCatalog As ADOX.Catalog
    这个ADOX如何能调出来呢?我按你的程序,VB提示对象未定义
      

  11.   

    感谢Amoon(阿木),我们的问题已经解决了。马上就给分
      

  12.   

    谢谢上面的所有朋友,特别鸣谢老山,阿木,勇敢的心(排名不分先后)
    再次感谢!
    我们的语句在win2000下是对的 但是在98,NT不行,希望同行以后注意。
    现已用别的办法解决!谢谢,开始给分!!!!!!
      

  13.   

    ADOX,引用Microsoft ADO Ext. 2.6 for DDL and Security.
      

  14.   

    受教了。
    TO luanjiajia() :
    你们用的第二种方法是什么呢,可以介绍下吗?
    [email protected]
      

  15.   

    就是通过ado直接连接excel表格,很简单。