Private Sub Cmdbc_Click()
  mlink = "provider=microsoft.jet.oledb.3.51; persist security info= false;"
  mlink = mlink + "data source=生产成本.mdb"
  Adodc2.ConnectionString = mlink
  Adodc2.CommandType = adCmdUnknown
  Dim sql As String
  Dim bn As String
   sql = "update 1车间(A产品) set 日期='2007-12-12',摘要='余额',发生额=Val(Text6)"
   Adodc1.Recordset.ActiveConnection.Execute sql
    'bn = "insert 1车间(A产品) values('2007/12/7','余额'','Val(Text6)' )"
    'Adodc1.Recordset.ActiveConnection.Execute bn
End Sub
向access数据库中添加时vb提示update语句的语法错误
用insert时提示insert语句错误给纠正一下

解决方案 »

  1.   

    sql = "update 1车间(A产品) set 日期='2007-12-12',摘要='余额',发生额=Val(Text6)"
    改为
    sql = "update 1车间(A产品) set 日期='2007-12-12',摘要='余额',发生额=" & Val(Text6)
    试验一下
      

  2.   

    sql = "update 1车间(A产品) set 日期='2007-12-12',摘要='余额',发生额=" & Val(Text6)
    中的双引号位置好像不对吧
      

  3.   

    我弄好了但是执行时Adodc1.Recordset.ActiveConnection.Execute sql出现"对象变量或with块变量未设置"提示
      

  4.   

    sql = "update [1车间(A产品)] set 日期=#2007-12-12#,摘要='余额',发生额=" & Val(Text6) &"
      

  5.   

    问题依旧提示“对象变量或with块变量未设置”
      

  6.   

    Private Sub Cmdbc_Click()
      mlink = "provider=microsoft.jet.oledb.3.51; persist security info= false;"
      mlink = mlink & " data source=生产成本.mdb"
      Adodc2.ConnectionString = mlink
      Adodc2.CommandType = adCmdUnknown
      Dim sql As String
      Dim bn As String
       sql = "update 1车间(A产品) set 日期='2007-12-12',摘要='余额',发生额='" & Val(Text6) & "'"
       Adodc1.Recordset.ActiveConnection.Execute( sql)
        'bn = "insert 1车间(A产品) values('2007/12/7','余额'','Val(Text6)' )"
        'Adodc1.Recordset.ActiveConnection.Execute bn
    End Sub
      

  7.   

    如果不行这句再改
    sql = "update [1车间](A产品) set 日期='2007-12-12',摘要='余额',发生额='" & Val(Text6) & "'"再不行那是不是
      Adodc2.ConnectionString = mlink    '为什么这里是adodc2
      Adodc2.CommandType = adCmdUnknown
      Dim sql As String
      Dim bn As String
       sql = "update 1车间(A产品) set 日期='2007-12-12',摘要='余额',发生额=Val(Text6)"
       Adodc1.Recordset.ActiveConnection.Execute sql'为什么这里又是adodc1
      

  8.   

    adodc1和2 是为了省事,我现在已经把程序改为:
    Private Sub Cmdbc_Click()
      mlink = "provider=microsoft.jet.oledb.3.51; persist security info= false;"
      mlink = mlink + "data source=生产成本.mdb" '生产成本
    If Cobfenpei.Text = "1车间" Then
        Adodc2.ConnectionString = mlink
        Adodc2.CommandType = adCmdUnknown
        Adodc2.RecordSource = "select * from 1车间A产品"
        Adodc2.Refresh
              Set Text8.DataSource = Adodc2
              Set Text12.DataSource = Adodc2
              Set Text9.DataSource = Adodc2
                 Text12.DataField = "发生额"
                 Text8.DataField = "摘要"
                 Text9.DataField = "日期"
         Adodc2.Recordset.AddNew
         Text12.Text = Val(Text6)
         Adodc2.Recordset.UpdateBatch adAffectAllChapters
         Adodc2.Recordset.MoveLast
         
        Adodc3.ConnectionString = mlink
        Adodc3.CommandType = adCmdUnknown
        Adodc3.RecordSource = "select * from 1车间B产品"
        Adodc3.Refresh
              Set Text13.DataSource = Adodc3
              Set Text10.DataSource = Adodc3
              Set Text11.DataSource = Adodc3
                 Text13.DataField = "发生额"
                 Text10.DataField = "摘要"
                 Text11.DataField = "日期"
              Adodc3.Recordset.AddNew
                 Text10.Text = Text8.Text
                 Text11.Text = Text9.Text
                 Text13.Text = Val(Text7)
              Adodc3.Recordset.UpdateBatch adAffectAllChapters
              Adodc3.Recordset.MoveLast
    ElseIf Cobfenpei.Text = "2车间" Then
      ............
    end if
    end sub
    其中adodc2、adodc3分别连接两个表同时增加数据
    谢谢大家