Private Sub XS_cx()   '客户订单号的查询
     Dim conn As New ADODB.Connection
     Dim rs_find As New ADODB.Recordset
     Dim connectionstring As String
     connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\XS_xds.mdb"
     conn.Open connectionstring
     Dim Sql As String
     Dim cx As String
    cx = Trim("订单号")
    If Text1.Text <> "" Then
       Sql = cx & "=" & "'" & Trim(Text1.Text) & "'"
    Else
       Sql = ""
    End If
     If Sql <> "" Then
       Sql = "select" & " " & cx & ",条码数据,日期" & " from 不良 where " & Sql
     Else
       Sql = "select" & " " & cx & ",条码数据,日期" & "from 不良"
     End If
   rs_find.CursorLocation = adUseClient
   rs_find.Open Sql, conn, adOpenKeyset, adLockPessimistic
   Set DataGrid1.DataSource = rs_find
   DataGrid1.Columns(订单号).Caption = "订单号"
End Sub
上面是我通过订单号来查询的一段代码,可是我现在通过“订单号”字段里的前三位来查询。也就是只要符合订单号前三位的就符合条件。请高手指教   谢谢

解决方案 »

  1.   

    Sql = "select 订单号,条码数据,日期 from 不良 where substring(订单号,1,3)=" & cx
      

  2.   

    改一下
    Private Sub XS_cx()   '客户订单号的查询
         Dim conn As New ADODB.Connection
         Dim rs_find As New ADODB.Recordset
         Dim connectionstring As String
         connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\XS_xds.mdb"
         conn.Open connectionstring
         Dim Sql As String
         Dim cx As String
        cx = Trim("订单号")
        If Text1.Text  <> "" Then
           "select " & cx & ",条码数据,日期 from 不良 where Left(" & cx & ",3)='" & Trim(Text1.Text) & "'"
        Else
           Sql = "select" & " " & cx & ",条码数据,日期" & "from 不良"
        End If
       rs_find.CursorLocation = adUseClient 
       rs_find.Open Sql, conn, adOpenKeyset, adLockPessimistic 
       Set DataGrid1.DataSource = rs_find 
       DataGrid1.Columns(订单号).Caption = "订单号" 
    End Sub