Private Sub Command2_Click()
  Data6.DatabaseName = App.Path & "\dbo"
   Data6.RecordSource = "select * from dbo_hyxx where dbo_hyxx.dbo_id=" & Val(Text27.text) And dbo_hyxx.dbo_db_hymc = " & val(text31.text)"
   Data6.Refresh
   If Not Data6.Recordset.EOF Then
   MsgBox "记录已经存在!", vbCritical
   Else
   Data6.Recordset.AddNew
   Data6.Recordset("dbo_id") = Text27.text
   Data6.Recordset("dbo_db_hymc") = Text31.text 
  End If
  End Sub
上面执行后,总是提示"记录已存在!"不知怎么处理.
数据库为access,其中dbo_id为数字型,dbo_db_hymc为文本型
--如果没有找到符合条件的记录就添加,如果根据查询条件找到相同的记录就提示"记录已经存在!".但不知道查询条件及其它代码是否写对?请高手指点

解决方案 »

  1.   

    你的查询条件有问题。
    对于“文本型”的字段的判断条件应该是
    And dbo_hyxx.dbo_db_hymc = '" & val(text31.text) &"'"
    注意这里的”’“符号。
      

  2.   

    Data6.RecordSource = "select * from dbo_hyxx where dbo_hyxx.dbo_id=" & Val(Text27.text) And dbo_hyxx.dbo_db_hymc = '" & val(text31.text) &"'"按上面的代码写完后,还是通不过,不知是查询条件里的符号有问题,还是...
      

  3.   

    Data6.RecordSource = "select * from dbo_hyxx where dbo_hyxx.dbo_id=" & Val(Text27.text) & " And dbo_hyxx.dbo_db_hymc = '" & text31.text & "'"