dim upda as string
upda = "update sjk set 表止码=chaobiao.表止码,新表起码=chaobiao.新表起码,新表止码=chaobiao.新表止码,用电量=chaobiao.本月电量  where 村名=chaobiao.村名"
    com.CommandText = upda
    com.Execute
当调试执行到com.Execute 语句时,就弹出对话框说:
实时错误 '-2147217904 (80040e10)':
[Microsoft][ODBC dBase Driver]参数不足,期待是5.这到底是怎么回事啊?很急,请大家多多指教,谢谢!

解决方案 »

  1.   

    upda = "update sjk set sjk.表止码=chaobiao.表止码,sjk.新表起码=chaobiao.新表起码,sjk.新表止码=chaobiao.新表止码,sjk.用电量=chaobiao.本月电量  where sjk.村名=chaobiao.村名"
    命令换成这种格式也不行,请求帮助!
      

  2.   

    “chaobiao.表止码”是什么东西?
    chaobiao是你数据保存的类型把upda = "update sjk set 表止码=chaobiao.表止码,新表起码=chaobiao.新表起码,新表止码=chaobiao.新表止码,用电量=chaobiao.本月电量  where 村名=chaobiao.村名"
    改成:
    upda = "update sjk set 表止码=" & chaobiao.表止码 & ",新表起码=" & chaobiao.新表起码 & ",新表止码=" & chaobiao.新表止码 & ",用电量=" & chaobiao.本月电量 & "  where 村名=" & chaobiao.村名
    试试看
      

  3.   

    sjk和chaobiao是两个dbf表,表止码,新表起码,新表止码和用电量都是表中的几个字段
      

  4.   

    加上from chaobiao试试:upda = "update sjk set sjk.表止码=chaobiao.表止码,sjk.新表起码=chaobiao.新表起码,sjk.新表止码=chaobiao.新表止码,sjk.用电量=chaobiao.本月电量 from chaobiao where sjk.村名=chaobiao.村名"
      

  5.   

    还是没用啊,加上from chaobiao 之后,错误提示是:
    语法错误(操作符丢失)在查询表达式 'chaobiao.本月电量 from chaobiao'中
      

  6.   

    那样都不对,你用的是不是Access数据呀,Access好象不支持那样做
      

  7.   

    你试试这样做,引用ado
        Dim Con As ADODB.Connection
        Dim rs As ADODB.Recordset
        Set Con = New ADODB.Connection
        strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False"
        Con.Open strCon
        Set rs = New ADODB.Recordset
        '添加记录
        strsql="select * from table"
        rs.Open strsql, Con, adOpenKeyset, adLockOptimistic      
        rs.addnew
           rs!字段1=text1.text
           rs!字段2=text2.text
           ........
        rs.update
        rs.close
        set rs=nothing
        '修改记录
        strsql="select * from table where id=1"
        rs.Open strsql, Con, adOpenKeyset, adLockOptimistic      
           rs!字段1=text1.text
           rs!字段2=text2.text
           ........
        rs.update
        rs.close
        set rs=nothing
            
        '删除记录
        strsql="delete from table where id=1"
        rs.Open strsql, Con, adOpenKeyset, adLockOptimistic      
           
      

  8.   

    upda = "update sjk set sjk.表止码=chaobiao.表止码,sjk.新表起码=chaobiao.新表起码,sjk.新表止码=chaobiao.新表止码,sjk.用电量=chaobiao.本月电量 from sjk ,chaobiao where sjk.村名=chaobiao.村名"
    试试?
      

  9.   

    有2个表,我想也应该是from sjk,chaobiao,fishmans(金脚指) 方法试一下看看
      

  10.   

    测试了 fishmans(金脚指) 的方法,在Access里还是会出错,你用下面的代码吧:Dim cn As New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb;Persist Security Info=False"
    Dim rsFrom As New ADODB.Recordset
    rsFrom.CursorLocation = adUseClientrsFrom.Open "select 村名,表止码,新表起码,新表止码,用电量 from chaobiao,sjk  where chaobiao.村名=sjk.村名", cn, adOpenKeyset, adLockOptimisticWhile Not rsFrom.EOF
        cn.Execute ("update sjk set 表止码='" & rsFrom("表止码") & "',新表起码='" & rsFrom("新表起码") & "',新表止码='" & rsFrom("新表止码") & "',用电量='" & rsFrom("本月电量") & "'  where 村名='" & rsFrom("村名") & "'")
        rsFrom.MoveNext
    Wend
      

  11.   

    Access的话试试:"update sjk,chaobiao s set sjk.表止码=s.表止码,sjk.新表起码=s.新表起码,sjk.新表止码=s.新表止码,sjk.用电量=s.本月电量 where sjk.村名=s.村名"
      

  12.   

    upda = "update sjk set 表止码=chaobiao.表止码,新表起码=chaobiao.新表起码,新表止码=chaobiao.新表止码,用电量=chaobiao.本月电量 from chaobiao  where sjk.村名=chaobiao.村名"