机房收费系统之组合查询

学生基本信息维护

此表的重点就在于组合查询:
首先对于combo的填充:我用的方法是:
<span style="font-size:18px;">Private Sub Cmbfield1_Click()
    With cmboperate1
        If Cmbfield1.Text = "卡号" Or Cmbfield1.Text = "学号" Then
        cmboperate1.Clear
                .AddItem "="
                .AddItem "<"
                .AddItem ">"
                .AddItem "<>"
        Else
            If Cmbfield1.Text = "性别" Then
            cmboperate1.Clear
                MsgBox "请在要查询内容的框中输入男或女!", vbOKOnly + vbExclamation, "温馨提示"
                .AddItem "="
                .AddItem "<>"
            Else
            cmboperate1.Clear
                .AddItem "="
                .AddItem "<>"
            End If
        End If
     End With
End Sub</span>
然后就是组合查询的思路:
分为三种情况:
a、当只有一行条件时,默认选择第一行的查询条件,即第一个组合关系没有选中。则后面的所有的选择都是不可用的。
b、当有两行查询条件是时,默认是选择前两行,即第一个组合关系是不为空的。在第二个组合关系没有选中之前第三行是不可用的。
c、当有三行查询条件时,即每个控件都不为空,第二个组合关系也不为空。
代码展示一部分:
<span style="font-size:18px;">If Trim(cmbConnect(0).Text) = "" Then
<span style="white-space:pre">	</span>If Trim(Cmbfield1.Text) = "" Or Trim(cmboperate1.Text) = "" Or Trim(txtcontent(0).Text) = "" Then
                MsgBox "请确保第一行完整的输入查询条件", 48, "提示"
                Exit Sub
        Else
                txtSQL = txtSQL & strA
                Set mrc = executeSQL(txtSQL, MsgText)
        End If</span>
然后是选中记录,进行修改:

<span style="font-size:18px;"><span style="white-space:pre">	</span>MyFlexGrid.SelectionMode = flexSelectionByRow '单击的时候选择的是整行
<span style="white-space:pre">	</span>MyFlexGrid.FocusRect = flexFocusNone '在当前单元的周围画一个焦点框
<span style="white-space:pre">	</span>MyFlexGrid.HighLight = flexHighlightWithFocus '该值决定了所选定的单元是否突出显出</span>
判断是否选中了行,然后进入另一个窗体进行修改等操作。
If MyFlexGrid.RowSel = 0 Then
    MsgBox "亲,您没有选中哦!请重新选择!", vbOKOnly + vbExclamation, "警告"
Else
    txtSQL = "select * from student_info where studentno= '" & MyFlexGrid.TextMatrix(MyFlexGrid.RowSel, 0) & "'"
    Me.WindowState = 1
    SetParent frmmodifyscs.hWnd, frmMain.hWnd
    frmmodifyscs.Show
End If

学生上机统计信息和操作员工作记录和上面是一样的。


你可能感兴趣的:(数据库)