下面是我保存的代码:
  Dim strSQL As String
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset    rs.LockType = adLockOptimistic
    rs.CursorType = adOpenKeyset
    
    cnn.CursorLocation = adUseClient
    cnn.connectionstring = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Showup.mdb"
    cnn.Open
    
   rs.Open "SELECT 字段1,字段2,字段3,时间 FROM code where 字段2='" & Text2.Text & "' & 字段3='" & Text3.Text & "' ", cnn
    If rs.EOF = False Then
        MsgBox "已经存在该条码."
    Else
        rs.AddNew
         With rs
            .Fields("字段1") = Text1.Text
            .Fields("字段2") = Text2.Text
            .Fields("字段3") = Text3.Text
            .Fields("时间") = Text4.Text
            .Update
         End With
        MsgBox "保存成功"
    End If
    cnn.Close
   但是我现在有个要求是,在一个表中,字段1保存的数据可以重复,而字段2和字段3保存的时候数据不可以重复,如果有重复的提示.但我不知道怎么写了,谢谢.急,在线等.

解决方案 »

  1.   

    1.在数据库中将字段2和字段3设为 无重复索引值;
    2.在程序中写库前做错误陷阱 :
    err.clear
    on error goto err_handle'rs操作......
    '.......
    exit sub
    err_handle:
    debug.print: err.number & "/" & err.description
    if err.number=???? then '错误号你自己查一下 
      msgbox ".....",48,"字段重复提示"
    end if
      

  2.   

    .Fields("字段2") = Text2.Text
    你更新的時候在寫個查詢語句  查詢字段2
    如果重復就 提示  不重復才執行.Fields("字段2") = Text2.Text。。
    我也很菜,不知道方法好不好使
      

  3.   

    toury(理上网来) 的方法是首选在数据库中将字段2和字段3设为 无重复索引值,然后捕获重复的错误信息
      

  4.   

    你可以捕获错误信息,然后自己制定一个msgbox,用于提醒自己所捕获的详细错误信息,然后再决定要不要录入文本中的数据.这个在VB帮助里有的,或者在VB书里查找,一般的VB书里都有捕获错误信息的详细说明.