⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmfindbr.frm

📁 企业人事管理系统,有考勤,人员管理等功能,值得研究,也是我付费弄来的,绝对超值
💻 FRM
📖 第 1 页 / 共 2 页
字号:
  Select Case grdHow.Col
  Case 1
     cboHow.AddItem "And"
     cboHow.AddItem "Or"
     
  Case 2
   On Error GoTo err1
     For i = 0 To number - 1
       cboHow.AddItem chkRS(i).Caption
     Next
     
  Case 3
     cboHow.AddItem "="
     cboHow.AddItem "<"
     cboHow.AddItem ">"
     cboHow.AddItem "<="
     cboHow.AddItem ">="
  Case 4
       v = grdHow.TextMatrix(grdHow.Row, 2)
       If v <> "" Then
       Call fillValue(v)
       End If
  End Select
  
err1:
  
End Sub

Private Sub cboHow_LostFocus()
  cboHow.Visible = False
End Sub

Private Sub cboHow_Validate(Cancel As Boolean)

'grd控件过滤cmbobox 和 textbox 的返回值
'取and or
 If grdHow.Col = 1 Then
    If LCase(cboHow.Text) <> "and" And LCase(cboHow.Text) <> "or" Then Exit Sub
    grdHow.Text = cboHow.Text
 End If
 '取> <   =  >= <=
 If grdHow.Col = 3 Then
   If cboHow.Text <> ">" And cboHow.Text <> "<" And cboHow.Text <> "=" And cboHow.Text <> ">=" And cboHow.Text <> "<=" And cboHow.Text <> "" Then Exit Sub
   grdHow.Text = cboHow.Text
 End If
 
 '是不是字段名
 If grdHow.Col = 2 Then
   For i = 0 To number - 1
      If cboHow.Text = chkRS(i).Caption Then
        grdHow.Text = cboHow.Text
        Exit For
      End If
   Next
 End If
 
 If grdHow.Col = 4 Then
    grdHow.Text = cboHow.Text
 End If
 
 If cboHow.Text = "" Then
   grdHow.Text = cboHow.Text
 End If
 
 
End Sub


Private Sub fillValue(ByVal rsname As String)
  If rsname = "性别" Then
    cboHow.AddItem "男"
    cboHow.AddItem "女"
  End If
 
  If rsname = "健康状况" Then
    cboHow.AddItem "健康"
    cboHow.AddItem "生病"
  End If
  
  If rsname = "婚姻状况" Then
    cboHow.AddItem "已婚"
    cboHow.AddItem "未婚"
  End If
End Sub

Private Sub chkRS_Click(Index As Integer)
  If Index = 0 Then
     chkRS(0).Value = 1
  End If
End Sub

Private Sub cmdBefore_Click()
 SSTab1.Tab = 0
 cmdTitle.Caption = SSTab1.Caption
End Sub

Private Sub cmdBf_Click()
  SSTab1.Tab = 1
 cmdTitle.Caption = SSTab1.Caption
End Sub

Private Sub cmdClear_Click()
 For i = 1 To grdHow.Rows - 1
   For j = 1 To 4
     grdHow.TextMatrix(i, j) = ""
   Next
 Next
End Sub

Private Sub cmdE_Click()
 Unload Me
End Sub

Private Sub cmdExit0_Click()
  Unload Me
End Sub

Private Sub cmdFisish_Click()
   frmRS.sqlRefreshGrid (txtSQL.Text)
   Unload Me
End Sub

Private Sub cmdNext_Click()

'一定要有工号
chkRS(0).Value = 1

  ReDim putRs(number)
  Dim w As Integer
  w = 0
  For i = 0 To number - 1
    If chkRS(i).Value = 1 Then
       putRs(w) = chkRS(i).Caption
       w = w + 1
    End If
  Next
  
 SSTab1.Tab = 1
 cmdTitle.Caption = SSTab1.Caption
End Sub

Private Sub cmdQuery_Click()
'生成sql语句
Call makeSql

On Error Resume Next
   Dim rs  As ADODB.Recordset
    Dim strSql As String
    Dim strMsg As String
    
    If txtSQL.Text <> "" Then
    strSql = txtSQL.Text
    Set rs = ExecuteSQL(strSql, strMsg)

    Call FillData(rs, grdShow)
    rs.Close
    Set rs = Nothing
    End If
    
    SSTab1.Tab = 2
    cmdTitle.Caption = SSTab1.Caption
  
End Sub

Private Sub cmdSelAll_Click()
If cmdSelAll.Caption = "输出全部" Then
   Dim i As Integer
   For i = 1 To number - 1
    chkRS(i).Value = 1
   Next
     cmdSelAll.Caption = "取消全部"
 Else

   For i = 1 To number - 1
    chkRS(i).Value = 0
   Next
     cmdSelAll.Caption = "输出全部"
 End If
End Sub







Private Sub CommandButton1_Click()
  
     makeSql
     
End Sub


Private Sub makeSql()
Dim s As String
  Dim strSql As String
  Dim SQLoriginal As String
  Dim SQLrs As String
  Dim SQlsel As String
  Dim st As String
  Dim sqlb As String
  Dim tp As Integer
  
  For i = 0 To UBound(putRs) - 1
       If putRs(i) <> "" Then
         st = st & putRs(i) & ","
        End If
 Next
 
  st = Left(st, Len(st) - 1)
  SQlsel = "select "
  SQLoriginal = " from " & strTbName & " where "
  
  sqlb = SQlsel & st & SQLoriginal
  
  
  If grdHow.TextMatrix(1, 2) = "" Or grdHow.TextMatrix(1, 3) = "" Or grdHow.TextMatrix(1, 4) = "" Then
      Exit Sub
  End If
  
   For i = 1 To grdHow.Rows - 1
         If grdHow.TextMatrix(i, 2) <> "" And grdHow.TextMatrix(i, 3) <> "" And grdHow.TextMatrix(i, 4) <> "" Then
         
         If i = 1 Then
         
              For j = 1 To 3
                   s = s + " " + grdHow.TextMatrix(i, j)
              Next
              '处理不同类型的字段
              For w = 0 To number - 1
                 If grdHow.TextMatrix(i, 2) = chkRS(w).Caption Then
                     tp = chkRS(w).Tag
                     Exit For
                 End If
              Next
              
              Select Case tp
              Case 202 '文本
                  s = s + " " + "'" + grdHow.TextMatrix(i, j) + "'"
              Case 135 '日期
                  s = s + " " + "#" + grdHow.TextMatrix(i, j) + "#"
              Case 3 '数字
                  s = s + " " + grdHow.TextMatrix(i, j)
              End Select

         Else
         
           If grdHow.TextMatrix(i, 1) <> "" Then
              For j = 1 To 3
                   s = s + " " + grdHow.TextMatrix(i, j)
              Next
              '处理不同类型的字段
              For w = 0 To number - 1
                 If grdHow.TextMatrix(i, 2) = chkRS(w).Caption Then
                     tp = chkRS(w).Tag
                     Exit For
                 End If
              Next
              
              Select Case tp
              Case 202 '文本
                  s = s + " " + "'" + grdHow.TextMatrix(i, j) + "'"
              Case 135 '日期
                  s = s + " " + "#" + grdHow.TextMatrix(i, j) + "#"
              Case 3 '数字
                  s = s + " " + grdHow.TextMatrix(i, j)
              End Select
          End If
         End If
      End If
   Next

   strSql = sqlb & s
   txtSQL.Text = strSql
   
End Sub


Private Sub Form_Load()
 
 'Call DarkMe(Me, 255)
 ' Me.Refresh
  'blnDark = False
  
 strTbName = "t_br"
 Call subload(strTbName)
 
End Sub

Private Sub subload(strTbName As String)
  If strTbName = "" Then Exit Sub
  txtSQL.Text = "select * from " & strTbName
 '2
   'txtHow.Visible = False
   cboHow.Visible = False


'1创建check组
 number = CreateCT(strTbName)
 
'全部选中
 Dim i As Integer
   For i = 0 To number - 1
    chkRS(i).Value = 1
   Next
   
  cmdSelAll.Caption = "取消全部"
 '在MSFlexGrid控件中填入数据
setHow

SSTab1.Tab = 0
cmdTitle.Caption = SSTab1.Caption
End Sub

'在MSFlexGrid控件中填入数据
Private Function setHow()
     With grdHow
      .Clear
      .Cols = 5
      .Rows = 10

        '设置各列的对齐方式
        For i = 0 To .Cols - 1
            .ColAlignment(i) = 0
        Next i
        
        
        '表头项居中
        .FillStyle = flexFillRepeat

        If .Rows > 1 Then
        .RowSel = 1
        End If
        .ColSel = .Cols - 1
        '.CellAlignment = 4
        
        
        '设置单元大小
        .ColWidth(0) = 250
        .ColWidth(1) = 2000
        .ColWidth(2) = 2000
        .ColWidth(3) = 2000
        .ColWidth(4) = 2100
        
        .TextMatrix(0, 1) = "与或"
        .TextMatrix(0, 2) = "字段"
        .TextMatrix(0, 3) = "逻辑"
        .TextMatrix(0, 4) = "取值"
     End With

End Function
 

Private Sub grdHow_Click()
  ' txtHow.Visible = False
   cboHow.Visible = False
   'txtHow.Text = ""
   cboHow.Text = ""
   
   If grdHow.Row = 1 And grdHow.Col = 1 Then Exit Sub
     cboHow.Move grdHow.Left + grdHow.CellLeft, grdHow.Top + grdHow.CellTop, grdHow.CellWidth
      cboHow.Visible = True
      cboHow.SetFocus

End Sub




Private Sub MSFlexGrid2_Click()
  MsgBox MSFlexGrid2.Row
End Sub



Private Sub txtSQL_Change()

End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -