If aa = True Then
                 Set db = OpenDatabase(dbFileName)
                 Ssql = "select * from [configer] where [机车号]= '" & Trim(trainTxt.Text) & "'" '+++++++++++库里明明有,为什么查不到?
                 Set rs = db.OpenRecordset(Ssql)
                 If Not rs.EOF Then '已经存在
                    Bb = MsgBox("此机车号已存在,是否需要覆盖?", 1 + 32 + 0, "提示")
                    If Bb = 1 Then '覆盖
                        Data1.Recordset.Delete
                        Data1.Recordset.AddNew
                        Data1.Recordset.Fields(0) = Trim(trainTxt.Text)
                        Data1.Recordset.Fields(1) = Trim(AddZeroSatisfy(productTxt.Text))
                        Data1.Recordset.Fields(2) = Trim(ComboFtry.Text)
                        Data1.Recordset.Fields(3) = Trim(ComboFrqz.Text)
                        Data1.Recordset.Update '++++++++++++++出问题
                        db.Close
                        Set rs = Nothing
                        Set db = Nothing
                    ElseIf Bb = 2 Then
                        Exit Sub
                    End If
                 Else '不存在
                    
                    Data1.Recordset.AddNew
                    Data1.Recordset.Fields(0) = Trim(trainTxt.Text)
                    Data1.Recordset.Fields(1) = Trim(AddZeroSatisfy(productTxt.Text))
                    Data1.Recordset.Fields(2) = Trim(ComboFtry.Text)
                    Data1.Recordset.Fields(3) = Trim(ComboFrqz.Text)
                    Data1.Recordset.Update '++++++++++出问题
                    db.Close
                    Set rs = Nothing
                    Set db = Nothing
                 End If
            Else
                MsgBox "请输入有效的设备ID号", , "提示"
                Exit Sub
            End If
         Else
            MsgBox "设备ID号输入的长度不符", , "提示"
            Exit Sub
         End If
上面的程序,三个标注++的地方有问题
1.库里明明存在符合条件的记录,却查不出来
2.更新的时候会出问题
请大家帮忙看看是哪儿的问题,谢谢

解决方案 »

  1.   

    Ssql = "select * from [configer] where [机车号]= '" & Trim(trainTxt.Text) & "'" '+++++++++++库里明明有,为什么查不到?
    ---------------------------------------------------------------------------
    机车号是什么类型的字段?该成这样试一下:
    Ssql = "select * from [configer] where [机车号] like '" & Trim(trainTxt.Text) & "'"
      

  2.   

    Data1.Recordset.Update '++++++++++++++出问题
    --------------------------------------------
    是不是输入的内容与表的字段类型不相符,或表中有些字段设置为必添项,而你没有付值?
      

  3.   

    我都填了啊 
    原来是对的,我加了这些后就不对了
    Set db = OpenDatabase(dbFileName)
                     Ssql = "select * from [configer] where [机车号]= '" & Trim(trainTxt.Text) & "'" '+++++++++++库里明明有,为什么查不到?
                     Set rs = db.OpenRecordset(Ssql)
      

  4.   

    大家帮我看看啊
    数据库版本是旧版本的,如果转换会出错
    用的是DATA数据控件
      

  5.   

    改成这样试试:where [机车号]= " & Trim(trainTxt.Text)