Private Sub Command1_Click()
          Dim strfind As String
          Dim blnflag As Boolean
          
      If number.Text <> " " Then
      strfind = strfind & "number like '%" & number.Text & " %'"
      Else
        blnflag = True
        End If
   
      If studentname.Text <> "" And blnflag Then
      strfind = strfind & "name like '%" & studentname.Text & "%'"
      blnflag = False
      ElseIf studentname.Text <> "" And (Not blnflag) Then
      strfind = strfind & "and" & "name like'%" & studentname.Text & "%'"
      blnflag = False
      End If
      
      If sex.Text <> "" And blnflag Then
      strfind = strfind & "sex like '%" & sex.Text & "%'"
      blnflag = False
      ElseIf sex.Text <> "" And (Not blnflag) Then
      strfind = strfind & "and" & "sex like'%" & sex.Text & "%'"
      blnflag = False
      End If
      
      If grade.Text <> "" And blnflag Then
      strfind = strfind & "grade like '%" & grade.Text & "%'"
      blnflag = False
      ElseIf grade.Text <> "" And (Not blnflag) Then
      strfind = strfind & "and" & "grade like'%" & grade.Text & "%'"
      blnflag = False
      End If
      
      If profession.Text <> "" And blnflag Then
      strfind = strfind & "profession like '%" & profession.Text & "%'"
      blnflag = False
      ElseIf profession.Text <> "" And (Not blnflag) Then
      strfind = strfind & "and" & "profession like'%" & profession.Text & "%'"
      blnflag = False
      End If
      Form1.data1.Recordset.Filter = strfind
       Set datagrid1.DataSource = Form1.data1.Recordset
       
  我的代码在上面