表1:字段1( [numeric]类型),字段2( [numeric]类型),我想利用TEXT1取得文本框取得的值(数字),UPDATE表1在的字段:update 表1 set 字段1=字段1*(TEXT1.TEXT) 字段1=字段1*(TEXT1.TEXT).提示错误是数据类型varchar转换为numeric时出错...请问该怎么解决???

解决方案 »

  1.   

    :update 表1 set 字段1=字段1*(TEXT1.TEXT) 字段1=字段1*(TEXT1.TEXT).text1.text你这边是string形态你要知道写在VB中间都必须带'',""的形式啊还有什么叫字段1*text1.text字段?????我非常不理解你这个SQL语句
      

  2.   

    整个语句:update cpsa_lsb set csasl='" & Trim(Text2.Text) & "*csasl',csajg='" & Trim(Text2.Text) & "*csajg',csacsje='" & Trim(Text2.Text) & "*csacsje'
      

  3.   

    text是string类型的,需要强制转换一下
    cint
    clng
    cdb然后update就可以了
      

  4.   

    把Trim(Text2.Text)
    改为这样试试:
    val(Trim(Text2.Text))
      

  5.   

    整个语句:update cpsa_lsb set csasl='" & Trim(Text2.Text) & "*csasl',csajg='" & Trim(Text2.Text) & "*csajg',csacsje='" & Trim(Text2.Text) & "*csacsje'//
    因为我这边也没装SQL,所以告诉你个思路第1,你复制一个同样的表来测试一下
    第2,你把这个语句简化,因为你不知道出错是在那个字段,你首先可以简化成update cpsa_lsb set csasl='" & Trim(Text2.Text) & "*csasl'update cpsa_lsb set csajg='" & Trim(Text2.Text) & "*csajg'update cpsa_lsb set csacsje='" & Trim(Text2.Text) & "*csacsje'记得把这些语句debug.print出来然后在[查询分析器]中间执行
    比如:"update cpsa_lsb set csajg='" & Trim(Text2.Text) & "*csajg'"但是你要知道update的语句应该是:update test set aa='1' where aa='2'
    你的问题出在那里,我估计是2个地方:
    a,这是你出错的关键'" & Trim(Text2.Text) & "*csajg'"这个数值你debug出来应该是字符,应该csajg是字符,而不是数字.这样的情况会报:将数据类型 varchar 转换为 numeric 时出错。b,这是你后面会出的错,你没有where条件所以实际上是:'" & Trim(Text2.Text) & "*csajg'这是一个字符形,你自己debug.print出整个语句就知道了,实际必须为数字的