有三个数据库表A、B、C,三个Combobox控件a,b,c,一个查询按钮cmd,Datagrid控件
2个Combobox控件a,b分别对应数据库表A,B,1个Combobox控件里的选项是“A类,B类,C类,D类”
数据库表C里包括了数据库表A,B和“A类,B类,C类,D类”
当我选择其中一个Combobox控件时,按查询按钮,在Datagrid表里显示出所选中的Combo的所有数据,
当选择其中二个Combobox控件时,按查询按钮,在Datagrid表里显示出所选中的2个Combobox的所有数据
一样,当3个时,显示3个的所有数据。
大概代码该怎么写~~~~~~~
sql="..."
elseif 选择其中二个Combobox控件then
sql="..."
else
sql=".."
endset rs=cn.execute(sql)
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
s = s & " and 单位id = " & dw.ItemData(gldw.ListIndex)
End If
If zh <> "" Then
s = s & " AND (证号='" & zh & " ')"
End If
If Combo4 <> "全部" Then s = s & " AND (性质='" & Combo4 & "') "大概就是上面的格式,我下面用的是MSFLEXGRID。
If snp.RecordCount >= 200 Then
Msg = "与指定条件相匹配的档案建立太多(超过200个)" + Chr$(13)
Msg = Msg & "请给出较之更为严格的筛选条件"
snp.Close
Else
Screen.MousePointer = 11
InitGrid grd
FillGrid grd, snp
snp.Close
Screen.MousePointer = 0
Exit Sub
End If
Private Sub FillGrid(g As MSFlexGrid, s As ADODB.Recordset)
If s.RecordCount <= 0 Then
InitGrid g: Exit Sub
End If
Dim i As Integer
s.MoveLast: i = 1
g.Rows = s.RecordCount + 1
s.MoveFirst
Do While Not s.EOF
g.Row = i
g.Col = 0
g.Text = ""
g.Col = 1
If IsNull(s("id")) Then g.Text = "" Else g.Text = s("id")
g.Col = 2
If IsNull(s("证号")) Then g.Text = "" Else g.Text = s("证号")
g.Col = 3
pict.Cls
If Not IsNull(s("背景色")) Then g.CellBackColor = s("背景色")
If Not IsNull(s("前景色")) Then g.CellForeColor = s("前景色")
If Not IsNull(s("车牌号")) Then g.Text = s("车牌号")
g.Col = 4
If IsNull(s("类型")) Then g.Text = "" Else g.Text = s("类型")
s.MoveNext: i = i + 1
Loop
g.FixedRows = 1: g.FixedCols = 1
g.FixedAlignment(0) = 2
g.FixedAlignment(1) = 2
g.FixedAlignment(2) = 2
g.FixedAlignment(3) = 2
g.FixedAlignment(4) = 2
Exit Sub
End SubPrivate Sub InitGrid(g As MSFlexGrid)
g.FixedRows = 0: g.Rows = 1
g.FixedCols = 0: g.Cols = 5
g.ColAlignment(0) = 2
g.ColAlignment(1) = 1
g.ColAlignment(2) = 2
g.ColAlignment(3) = 2
g.ColAlignment(4) = 1
g.Row = 0
g.Col = 0: g.Text = ""
g.ColWidth(0) = pict.TextWidth("")
g.Col = 1: g.Text = "编号"
g.ColWidth(1) = 1
g.Col = 2: g.Text = "证号"
g.ColWidth(2) = pict.TextWidth(g.Text) * 1.5
g.Col = 3: g.Text = "照号"
g.ColWidth(3) = pict.TextWidth(g.Text & " ")
g.Col = 4: g.Text = "类型"
g.ColWidth(4) = pict.TextWidth(g.Text)
Exit Sub
End Sub