初学VB数据库我建立一个公司数据库,其中包含一张信息表,表中有一个字段为"单位名称".现使用ADO访问数据库,当使用addnew方法向数据库中添加
数据时,如何保证每次输入的单位名称字段不重复.即如果输入了重复的单位名称,程序会提示出错,并且消除addnew的操作先调用了addnew 当下面的代码处理好像没有作用Dim dwm As String'dwm = Text1.Text
Adodc1.Recordset.MoveFirstAdodc1.Recordset.Find "单位名称 = '" & dwm & " '"  
  If Adodc1.Recordset.EOF Then           Adodc1.Recordset.Update
           
  Else
       
ss = MsgBox("单位名称已经存在!", vbOKOnly + vbInformation, "提示")           Adodc1.Recordset.CancelUpdate
           Adodc1.Refresh
请各位大虾指教!

解决方案 »

  1.   

    哎.我也是为这个恼. 下面是我的代码.虽然实现了这个功能. 但总觉得不是最好的办法.
       Adodc1.Recordset.Filter = Me.DataGrid1.Columns.Item(0).DataField & _
                        " like '*" & Text1(1).Text & "*'"
       If Adodc1.Recordset.RecordCount > 0 Then
                Form1.StatusBar1.Panels(4).Text = "第" & Adodc1.Recordset.Book & "条记录"
                MsgBox "数据编号与该物料表中第" & Adodc1.Recordset.Book & "条记录的物料编号重叠", vbExclamation, "警告"
                Text1(1).SetFocus
                Exit Sub
        End If
      

  2.   

    谢谢但是好像调用了 addnew以后,数据就写入了
    数据库,用cancelupdate好像没用啊
      

  3.   

    调用Addnew只是开始了添加新纪录的操作,当你使用Addnew后并且为某个字段赋值后,cancelupdate就有用了,UpDate方法才是真正提交你的“添加纪录”的操作。