Dim conn As ADODB.Connection
  
    Dim rs As New ADODB.Recordset
Set conn = New ADODB.Connection
 conn.ConnectionString = ConnectString
  conn.CursorLocation = adUseClient
    conn.Open       '连接数据库
    '判断材料库存表中是否有当前材料的记录rs.Open "select * from clkc where  材料名称='" & Trim(txtfields(0).Text) & "'", conn, adOpenKeyset, adLockBatchOptimistic
If rs.EOF = True Then
    MsgBox "该仓库没有该种材料可出库!", vbOKOnly + vbExclamation, "警告"
    txtfields(0).SetFocus
    Exit Sub
Else
    If Val(rs![重量]) - Val(txtfields(1).Text) < 0 Then
     MsgBox "该仓库没有足够数量的该种材料可出库!", vbOKOnly + vbExclamation, "警告"
    txtfields(1).SetFocus
     Exit Sub
     
    Else
      
    
  就是这下面一步,他不会更新数据!!!   
    rs![重量] = Val(rs![重量]) - Val(Trim(txtfields(1).Text))
    
      rs.Update
      rs.Close
各位高手帮忙看看了!!!先谢过
!!!!!

解决方案 »

  1.   

    1、检查rs![重量]是否为空,试一下rs![重量] =3,看会不会更新,2、或者使用update 表 set .. where 更新
      

  2.   

    试过rs![重量]=3  但是还是不会更新
    你说的update该怎么用呢??
      

  3.   

    直接updatesql="update clkc set [重量]=3 where  材料名称='" & Trim(txtfields(0).Text) & "'"conn.excute sql或者你试试看
    rs.fields!(重量)=3
      

  4.   

    但是我要他rs![重量] = Val(rs![重量]) - Val(Trim(txtfields(1).Text))
    我该怎么编呢?
        
      

  5.   

    最好用sql语句  update 更新应该好一点。我翻阅了很多书。更新都是用SQL语句的
      

  6.   

    sql="update clkc set [重量]=[重量]-"& Val(Trim(txtfields(1).Text) & " where  材料名称='" & Trim(txtfields(0).Text) & "'"