我用adodc控件与access相连,结果保存时,出现了下列错误:
Run-time error '-2147467259(80004005)':
[Microsoft][ODBC Microsoft access 驱动程序]查询过于复杂。
请问该如何解决呀,谢谢各位啦
(由于数据比较多才出现这种情况的,少的时候就没有啦)

解决方案 »

  1.   

    我就是将adodc控件绑定到access上,然后将一些check和text的DataSource设为adodc的,最后保存时用的是:Adodc1.Recordset.Save
      

  2.   

    你最好是用插入后更新语句,例如:
    'TableName为表名
    strSQL="Insert [TableName] value("value1","value2")"
    或细化一点
    Adodc1.Recordset("UserName")=txtUserName.text
    Adodc1.Recordset("UserID")=txtUserID.text
    更新语句是:
    Adodc1.Recordset.Update
      

  3.   

    给你看个动态绑定的例子:
    首先在Project--Reference中加引用:Microsoft ActiveX Data Object 2.7(或2.6 2.5)Library
    从Project--Components中添加控件Microsoft Hierarchical FlexGrid Control 6.0,将控件加入窗口,改名为DataGrid1Private Sub Command1_Click()
        Dim adoPrimaryRs As recordset
        Dim intN As Integer
        Dim adoDb As New Connection
        
        Set adoDb = New Connection
        adoDb.CursorLocation = adUseClient
        '数据库连接
        adoDb.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=D:\a.mdb;"
        
        Set adoPrimaryRs = New recordset
        intN = 0
        
        '注:User为需打开的数据库表名
        adoPrimaryRs.Open "select * from [User]", adoDb, adOpenStatic, adLockOptimistic
        Set DataGrid1.DataSource = adoRecordset
    End Sub
      

  4.   

    谢谢啦,那我想问一下我的数据里有一个问题的答案是option,其中有4个:option(0),option(1),option(2),option(3),那怎么实现和access中的数据相连呢?
      

  5.   

    option  不是动态邦定控件
      

  6.   

    recordset.save 是用来将记录集保存为文件的。数据库的更改应该用update方法
      

  7.   

    先用Recordset对象取如Option对应的值
    如intOption=recordset("OptionValue").value
    然后依次与Option控件的值相比较,如Option(index).value与之相等,则将其选中
      

  8.   

    我现在用recordset.update,还是老毛病呀,怎么办?我的数据一个界面很多100多条呀,总共9个界面大概600多条呀,现在又改成ado好大的工程量呀,老板又追的急,怎么办呀?各位帮我再想想办法,好嘛?谢谢啦
      

  9.   

    保存时,出现了下列错误:
    Run-time error '-2147467259(80004005)':
    [Microsoft][ODBC Microsoft access 驱动程序]查询过于复杂。
    请问该如何解决呀,谢谢各位啦
    (由于数据比较多才出现这种情况的(50个以上),少的时候就没有啦)
      

  10.   

    最好还是用ADO吧,
    我以前也是经常用控件帮定,但是经常出错,
    现在再也不用了!