vb里的
Private Sub Cbo_astoper_LostFocus()
If Me![Cbo_astoper] <> "" Then
astoper = True
If product = True Or jp_oper = True Or jp_cop = True Or jp_dep = True Or stardate = True Or enddate = True Or chn_cop = True Or chn_oper = True _
Or chn_dep = True Or fact_cop = True Or fact_dep = True Or chn_id = True Or pact_status = True Or fact_id = True Or pact_id = True Or pact_name = True Or jp_id = True Then
sql = sql + " and c.vchr_Operater='" & Me![Cbo_astoper] & "'"
Else
sql = sql + " where c.vchr_Operater='" & Me![Cbo_astoper] & "'"
End If
End If
End Sub
vb里的
Private Sub Cbo_astoper_LostFocus()
If Me![Cbo_astoper] <> "" Then
astoper = True
If product = True Or jp_oper = True Or jp_cop = True Or jp_dep = True Or stardate = True Or enddate = True Or chn_cop = True Or chn_oper = True _
Or chn_dep = True Or fact_cop = True Or fact_dep = True Or chn_id = True Or pact_status = True Or fact_id = True Or pact_id = True Or pact_name = True Or jp_id = True Then
sql = sql + " and c.vchr_Operater='" & Me![Cbo_astoper] & "'"
Else
sql = sql + " where c.vchr_Operater='" & Me![Cbo_astoper] & "'"
End If
End If
End Sub
你把各种条件连接起来不就得了!举例说明:
var
mysql:string;
iswhere:boolean;
begin
......
query1.close;
query1.sql.clear;
mysql:='select * from mytable';
iswhere:=false;
if edit1.text<>'' then
begin
mysql:=mysql+' where myfield1='''+Edit1.text+'''';
iswhere:=true;
end;
if edit2.text<>'' then
if iswhere then
mysql:=mysql+' and myfield2='''+Edit2.text+''''
else
mysql:=mysql+' where myfield2='''+Edit2.text+'''';
....
query1.sql.add(mysql);
query1.open;
end;