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

📄 frmbmcx.frm

📁 vb程序设计仁宇人份管理
💻 FRM
📖 第 1 页 / 共 2 页
字号:
Dim strLjf As String
Dim strSQL As String
Dim strOrder As String
Dim strBm As String
'选择查询表目
Private Sub CmbBm_Click()
        strBm = Trim(Right(CmbBm.Text, 8))     '''''''表目
        Select Case strBm
        Case "khbm"
           strOrder = " order by 单位编码 "
        Case "bmbm"
           strOrder = " order by 部门编码 "
        Case "cpbm"
           strOrder = " order by 产品编码 "
        Case "dqbm"
           strOrder = " order by 地区编码 "
        Case "sfbm"
           strOrder = " order by 省份编码 "
        Case "dzbm"
           strOrder = " order by 到站编码 "
        Case "djbm"
           strOrder = " order by 到局编码 "
        Case "zcdd"
           strOrder = " order by 地点编码 "
        Case "xcp"
           strOrder = " order by 新产品编码 "
        Case "lqxz"
           strOrder = " order by 来款性质编码 "
        End Select
        '客户编码时选择字段,其它编码表全选
        If strBm = "khbm" Then
           strSQL = "select 客户序号,单位编码,单位名称,简称,开户行,账号,税号,地址,电话,传真,邮编,部门,省份,业务地区,发货性质,帐面余额,联系人,联系人电话,综合地区,电子信箱,主页,流水号,法人,所属科室 from KHBM"
        Else
           strSQL = "select * from " & Trim(Right(CmbBm.Text, 8))
        End If
        'SQL查询
        If rsCx.State = adStateOpen Then rsCx.Close
        rsCx.Open strSQL & strOrder, dblgjx, adOpenDynamic, adLockOptimistic
        WrtCell
        CmbZd.Clear
        For i = 0 To rsCx.Fields.Count - 1
            CmbZd.AddItem rsCx.Fields(i).Name
        Next
    
    strLjf = " and"
    cmdtj(0).Enabled = False
    '刷新条件框
    listTj.Clear
    
End Sub

Private Sub CmbYsf_Click()
    If Trim(CmbYsf.Text) = "" Then Exit Sub
    Text1 = ""
    Text2 = ""
    txtV1 = ""
    nType = 0
    Select Case rsCx.Fields(CmbZd.ListIndex).Type
    Case adVarChar, adChar
        pctValue1.Visible = True
        pctValue2.Visible = False
        pctDate1.Visible = False
        pctDate2.Visible = False
        If CmbYsf.ListIndex = 0 Then nType = 10
        If CmbYsf.ListIndex = 1 Then nType = 11
        If CmbYsf.ListIndex = 2 Then nType = 12
        If CmbYsf.ListIndex = 3 Then nType = 13
        If CmbYsf.ListIndex = 4 Then nType = 14
        If CmbYsf.ListIndex = 5 Then nType = 15
        
    Case adNumeric, adVarNumeric
        If CmbYsf.ListIndex = 6 Then
            pctValue1.Visible = False
            pctValue2.Visible = True
            pctDate1.Visible = False
            pctDate2.Visible = False
            nType = 26
        Else
            pctValue1.Visible = True
            pctValue2.Visible = False
            pctDate1.Visible = False
            pctDate2.Visible = False
            nType = 20
        End If
    Case adDBTimeStamp
        If CmbYsf.ListIndex = 6 Then
            pctValue1.Visible = False
            pctValue2.Visible = False
            pctDate1.Visible = False
            pctDate2.Visible = True
            nType = 36
        Else
            pctValue1.Visible = False
            pctValue2.Visible = False
            pctDate1.Visible = True
            pctDate2.Visible = False
            nType = 30
        End If
    End Select
End Sub

Private Sub CmbZd_Click()
    Text1 = ""
    Text2 = ""
    txtV1 = ""
    If CmbZd.ListIndex <> -1 Then
    Select Case rsCx.Fields(CmbZd.ListIndex).Type
    Case adVarChar, adChar
        CmbYsf.Clear
        CmbYsf.AddItem "包 含"
        CmbYsf.AddItem "向前包含"
        CmbYsf.AddItem "向后包含"
        CmbYsf.AddItem "等 于                       ="
        CmbYsf.AddItem "大 于                       >"
        CmbYsf.AddItem "小 于                       <"
    Case adNumeric, adVarNumeric, adDBTimeStamp
        CmbYsf.Clear
        CmbYsf.AddItem "等于                       ="
        CmbYsf.AddItem "小于                       <"
        CmbYsf.AddItem "小于等于                  <="
        CmbYsf.AddItem "大于                       >"
        CmbYsf.AddItem "大于等于                  >="
        CmbYsf.AddItem "不等于                    <>"
        CmbYsf.AddItem "介于"
    End Select
   End If

End Sub

Private Sub cmdClose_Click(Index As Integer)
Unload Me

End Sub

Private Sub CmdCx_Click(Index As Integer)
    Dim strWhere As String
    Select Case Index
    Case 0
    Case 1
       
    Case 2
      If rsCx.State = adStateOpen Then rsCx.Close
      If Trim(Right(CmbBm.Text, 8)) = "khbm" Then
        
        If listTj.ListCount = 0 Then
            rsCx.Open strSQL & " where 最新标志='1'" & strOrder, dblgjx, adOpenDynamic, adLockOptimistic
        Else
            strWhere = ""
            For i = 0 To listTj.ListCount - 1
                strWhere = strWhere & listTj.List(i) & " "
            Next
            strWhere = Mid(strWhere, 1, Len(strWhere) - 4)
            rsCx.Open strSQL & " where " & strWhere & " and  最新标志='1'" & strOrder, dblgjx, adOpenDynamic, adLockOptimistic
            
            
        End If
               
        
      Else
         If listTj.ListCount = 0 Then
            rsCx.Open strSQL & strOrder, dblgjx, adOpenDynamic, adLockOptimistic
        Else
            strWhere = ""
            For i = 0 To listTj.ListCount - 1
                strWhere = strWhere & listTj.List(i) & " "
            Next
            strWhere = Mid(strWhere, 1, Len(strWhere) - 4)
            rsCx.Open strSQL & " where " & strWhere & strOrder, dblgjx, adOpenDynamic, adLockOptimistic
        End If
        
     End If
     
        WrtCell
        cmdtj(0).Enabled = True
        
    End Select
    
End Sub

Private Sub cmdtj_Click(Index As Integer)
   If rsCx.RecordCount > 0 Then
      MsgBox "符合条件的记录共有" & rsCx.RecordCount & "条!", 64, "统计结果"
   Else
      MsgBox "不存在符合条件的记录!", 64, "统计结果"
   End If
   
End Sub

Private Sub Command1_Click(Index As Integer)
    Dim strTj As String
    Select Case Index
    Case 0
        If CmbZd.ListIndex >= 0 And CmbYsf.ListIndex >= 0 Then
            Select Case nType
            Case 10
                If Trim(txtV1) <> "" Then
                    strTj = Trim(CmbZd.Text) & " like '%" & Trim(txtV1) & "%'"
                Else
                    Exit Sub
                End If
            Case 11
                If Trim(txtV1) <> "" Then
                    strTj = Trim(CmbZd.Text) & " like '" & Trim(txtV1) & "%'"
                Else
                    Exit Sub
                End If
            Case 12
                If Trim(txtV1) <> "" Then
                    strTj = Trim(CmbZd.Text) & " like '%" & Trim(txtV1) & "'"
                Else
                    Exit Sub
                End If

            Case 13, 14, 15
                If Trim(txtV1) <> "" Then
                    strTj = Trim(CmbZd.Text) & Right(CmbYsf.Text, 1) & "'" & Trim(txtV1) & "'"
                Else
                    Exit Sub
                End If
                
            Case 20
                If Trim(txtV1) <> "" And IsNumeric(txtV1) Then
                    strTj = Trim(CmbZd.Text) & Trim(Right(CmbYsf.Text, 2)) & Trim(txtV1)
                Else
                    Exit Sub
                End If
            Case 26
                If Trim(Text1) <> "" And Trim(Text2) <> "" And IsNumeric(Text1) And IsNumeric(Text2) Then
                    strTj = Trim(CmbZd.Text) & " between " & Trim(Text1) & " and " & Trim(Text2)
                Else
                    Exit Sub
                End If
            Case 30
                strTj = Trim(CmbZd.Text) & Trim(Right(CmbYsf.Text, 2)) & "to_date('" & Format(DTPicker1.Value, "yyyymmdd") & "','yyyymmdd')"
            Case 36
                strTj = Trim(CmbZd.Text) & " between " & "to_date('" & Format(DTPicker2.Value, "yyyymmdd") & "','yyyymmdd') and " & "to_date('" & Format(DTPicker3.Value, "yyyymmdd") & "','yyyymmdd')"
            End Select
            
            listTj.AddItem strTj & strLjf
        Else
            MsgBox "请选择需查询的字段!"
        End If
    Case 1
        If listTj.ListIndex <> -1 Then
            listTj.RemoveItem listTj.ListIndex
            
        End If
    End Select
End Sub


Private Sub Command2_Click()
Cell1.DoPrintPreview True
End Sub

Private Sub Form_Load()
Cell1.DoLogin "HOLLYWAY", 294, "1404900178057C05E403710A870A"
        
   CmbBm.Clear
   CmbBm.AddItem "客户编码               khbm"
   CmbBm.AddItem "产品编码                 cpbm"
   CmbBm.AddItem "部门编码                 bmbm"
   CmbBm.AddItem "业务地区编码             dqbm"
   CmbBm.AddItem "省份编码                 sfbm"
   CmbBm.AddItem "到站编码                 dzbm"
   CmbBm.AddItem "到局编码                 djbm"
   CmbBm.AddItem "新产品编码                xcp"
   CmbBm.AddItem "装车地点编码             zcdd"
   CmbBm.AddItem "来款性质编码             lqxz"
   
   Iskhbm = False
   CmbBm.ListIndex = 0
   CmbZd.ListIndex = 0
   strSQL = "select 客户序号,单位编码,单位名称,简称,开户行,账号,税号,地址,电话,传真,邮编,部门,省份,业务地区,发货性质,帐面余额,联系人,联系人电话,综合地区,电子信箱,主页,流水号,法人,所属科室 from KHBM"
   If rsCx.State = adStateOpen Then rsCx.Close
   rsCx.Open strSQL & " order by 单位编码 "
   WrtCell
End Sub

'选择逻辑连接符以确定所加条件之间的逻辑关系
Private Sub Option1_Click(Index As Integer)
    If Index = 0 Then
        strLjf = " and"
    Else
        strLjf = " or"
    End If
End Sub


Private Sub WrtCell()
Dim FldCount As Integer
    '清空足够的行和列
    Cell1.DoDeleteCol 0, 30
    Cell1.DoDeleteRow 1, 2000
    '不同的编码表对应不同的字段数
    Select Case CmbBm.ListIndex
    Case 0
      FldCount = 24
    Case 1
      FldCount = 12
    Case 2, 3, 4, 6, 8
      FldCount = 2
    Case 5, 7
      FldCount = 4
    Case 9
      FldCount = 3
    End Select
    '写字段名至顶筐
    For j = 0 To FldCount - 1
      Cell1.DoAppendCol 1
      Cell1.DoSetCellString j, -1, rsCx(j).Name
    Next
    '判断是否有数据
    If rsCx.RecordCount <= 0 Then
       Exit Sub
    End If
    '写数据
    rsCx.MoveFirst
    Cell1.DoAppendRow rsCx.RecordCount - 1
    For i = 0 To rsCx.RecordCount - 1
      For j = 0 To FldCount - 1
        If rsCx(j) <> "" Then Cell1.DoSetCellString j, i, rsCx(j)
      Next
      rsCx.MoveNext
    Next
    '设只读
    For i = 0 To FldCount - 1
      For j = 0 To rsCx.RecordCount - 1
        Cell1.DoSetCellReadOnly i, j, True
      Next
    Next
End Sub

⌨️ 快捷键说明

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