Dim Yuanyuan As New ADODB.Recordset
Dim Aaa As String
If cmb1.Text = "" Then
   MsgBox "定单类型不能为空!", vbOKOnly, "pcbsystem"
   Exit Sub
End IfIf txtsheng.Text = "" Then
   MsgBox "生产编号不能为空!", vbOKOnly, "pcbsystem"
   Exit Sub
End IfIf cmb1.Text = "新单" And txtsheng.Text <> "" Then
   Set Yuanyuan = New ADODB.Recordset
   Set Conn = New ADODB.Connection
   Call Conndata
   Conn.Open
   Aaa = "select * from dingdan where 生产编号='" & txtsheng.Text & "'"
   Yuanyuan.Open Aaa, Conn, 1, 3
   If Yuanyuan.EOF Then
      MsgBox "1"
     Else
      MsgBox "已经有此生产编号,请确认定单类型或者是生产编号!", vbOKOnly, "Pcbsystem"
      txtsheng.SetFocus
      SendKeys "{home}+{end}"
    End If
End If
If Conn.State = 1 Then
   Conn.Close
End If
If Yuanyuan.State = 1 Then
   Yuanyuan.Close
End If

解决方案 »

  1.   

    把这个函数写出来
      Conndata  看里面使用的CONN是不是公有的!!
      看不出来那里错了,你给指出来我们帮你看看改正
      

  2.   

    Public PrtState As Boolean
    Public constring As String
    Public Conn As ADODB.Connection
    Public Connb As ADODB.Connection
    Public SaveRs As New ADODB.Recordset '调用ADOSub main()
    frmlogin.ShowEnd Sub
    Sub Conndata()
    aa = "1234"
    bb = App.Path + "\master.db"
    Set Conn = New ADODB.Connection
    Conn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & _
               bb & ";JET OLEDB:database PASSWORD=" & aa
    End Sub我建了一个模块,其他地方都是对的,只有这个地方出错
      

  3.   

    Yuanyuan.Open Aaa, Conn, 1, 3
    提示是:语法错误,生产编号=‘234234’
      

  4.   

    Aaa = "select * from dingdan where 生产编号='" & txtsheng.Text & "'"生产编号后面的等号改成半角(英文)的就好了。