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

📄 frmclient.frm

📁 本章示例使用的是Windows2000 Professional版的操作系统
💻 FRM
📖 第 1 页 / 共 4 页
字号:
            Text            =   "Combo1"
            Top             =   360
            Width           =   855
         End
         Begin VB.TextBox Text1 
            Height          =   375
            Index           =   4
            Left            =   1080
            TabIndex        =   6
            Top             =   1440
            Width           =   2295
         End
         Begin VB.TextBox Text1 
            Height          =   375
            Index           =   5
            Left            =   5040
            TabIndex        =   7
            Top             =   1440
            Width           =   1215
         End
         Begin VB.Label Label1 
            Caption         =   "备    注"
            Height          =   255
            Index           =   6
            Left            =   240
            TabIndex        =   33
            Top             =   2400
            Width           =   735
         End
         Begin VB.Label Label1 
            Caption         =   "租户编号"
            Height          =   255
            Index           =   0
            Left            =   240
            TabIndex        =   16
            Top             =   360
            Width           =   735
         End
         Begin VB.Label Label1 
            Caption         =   "租户姓名"
            Height          =   255
            Index           =   1
            Left            =   3360
            TabIndex        =   15
            Top             =   360
            Width           =   735
         End
         Begin VB.Label Label1 
            Caption         =   "工作单位"
            Height          =   255
            Index           =   2
            Left            =   240
            TabIndex        =   14
            Top             =   960
            Width           =   735
         End
         Begin VB.Label Label1 
            Caption         =   "电话"
            Height          =   255
            Index           =   3
            Left            =   6360
            TabIndex        =   13
            Top             =   960
            Width           =   495
         End
         Begin VB.Label Label2 
            Caption         =   "性别"
            Height          =   255
            Left            =   6360
            TabIndex        =   12
            Top             =   360
            Width           =   495
         End
         Begin VB.Label Label1 
            Caption         =   "身份证号"
            Height          =   255
            Index           =   4
            Left            =   240
            TabIndex        =   11
            Top             =   1560
            Width           =   735
         End
         Begin VB.Label Label1 
            Caption         =   "租住人数"
            Height          =   255
            Index           =   5
            Left            =   4080
            TabIndex        =   10
            Top             =   1560
            Width           =   735
         End
      End
   End
End
Attribute VB_Name = "frmClient"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'定义几个共用变量
Dim rs_client As New ADODB.Recordset
Dim rs_count As New ADODB.Recordset
Dim sqlcount As String
Dim sqlclient As String

'设置2个add变量用于保存时判断是从添加还是修改后保存
Dim addf    '用于家庭租户选项卡
Dim addg    '用于公司租户选项卡

Private Sub cmdadd_Click()
   
   '设置除保存和取消按钮外的其他按钮不可用
   cmdAdd.Enabled = False
   cmdEdit.Enabled = False
   cmdDel.Enabled = False
   cmdSave.Enabled = True
   cmdCancel.Enabled = True
   cmdFirst.Enabled = False
   cmdPrev.Enabled = False
   cmdNext.Enabled = False
   cmdLast.Enabled = False
   cmdQuery.Enabled = False
   '需要判断当前是在家庭租户选项卡还是公司租户选项卡上
   '家庭租户选项卡
   If SSTab1.Tab = 0 Then
      '需要清空所有text框,并且设置它们可写
      For i = 0 To 6
         Text1(i).Text = ""
         Text1(i).Enabled = True
      Next i
      Combo1.Enabled = True
      'addf变量用于保存时判断是从添加还是修改后保存
      addf = 1
      Text1(0).SetFocus
   '公司租户选项卡
   ElseIf SSTab1.Tab = 1 Then
      '需要清空所有text框,并且设置它们可写
      For i = 7 To 14
         Text1(i).Text = ""
         Text1(i).Enabled = True
      Next i
      'addg变量用于保存时判断是从添加还是修改后保存
      addg = 1
      Text1(7).SetFocus
   End If
End Sub

Private Sub cmdCancel_Click()
   '取消按钮用于用户添加或修改过程中放弃添加或修改操作
   cmdSave.Enabled = False
   cmdCancel.Enabled = False
   cmdAdd.Enabled = True
   cmdQuery.Enabled = True
   '需要判断当前出在那个选项卡上,然后分别处理
   Select Case SSTab1.Tab
      '家庭租户选项卡
      Case 0
          '又需要判断是从添加后取消还是修改后取消
          '如果是从添加后取消
          If addf = 1 Then
             '如果当前Client表中有数据则显示第一条数据
             If Not rs_client.EOF And Not rs_client.BOF Then
                For i = 0 To 6
                   Text1(i).Text = rs_client.Fields(i)
                Next i
                If rs_client.Fields(7) = "男" Then
                   Combo1.ListIndex = 0
                ElseIf rs_client.Fields(7) = "女" Then
                   Combo1.ListIndex = 1
                End If
                cmdEdit.Enabled = True
                cmdDel.Enabled = True
                cmdFirst.Enabled = True
                cmdPrev.Enabled = True
                cmdNext.Enabled = True
                cmdLast.Enabled = True
             '如果没有数据,则显示空
             Else
                For i = 0 To 6
                   Text1(i).Text = ""
                Next i
                cmdEdit.Enabled = False
                cmdDel.Enabled = False
                cmdFirst.Enabled = False
                cmdPrev.Enabled = False
                cmdNext.Enabled = False
                cmdLast.Enabled = False
             End If
   
          '如果是修改后取消,则恢复到修改前的数据
          ElseIf addf = 0 Then
             For i = 0 To 6
                Text1(i).Text = rs_client.Fields(i)
             Next i
             If rs_client.Fields(7) = "男" Then
                Combo1.ListIndex = 0
             ElseIf rs_client.Fields(7) = "女" Then
                Combo1.ListIndex = 1
             End If
          End If
          '设置各个text框不可写
          For i = 0 To 6
             Text1(i).Enabled = False
          Next i
          '先设置ComboBox的默认值及不可改
          Combo1.Enabled = False
      '公司租户选项卡
      Case 1
          '又需要判断是从添加后取消还是修改后取消
          '如果是从添加后取消
          If addg = 1 Then
             '如果当前GongSi表中有数据则显示第一条数据
             If Not rs_client.EOF And Not rs_client.BOF Then
                For i = 7 To 14
                   Text1(i).Text = rs_client.Fields(i)
                Next i
                cmdEdit.Enabled = True
                cmdDel.Enabled = True
                cmdFirst.Enabled = True
                cmdPrev.Enabled = True
                cmdNext.Enabled = True
                cmdLast.Enabled = True
             '如果没有数据,则显示空
             Else
                For i = 7 To 14
                   Text1(i).Text = ""
                Next i
                cmdEdit.Enabled = False
                cmdDel.Enabled = False
                cmdFirst.Enabled = False
                cmdPrev.Enabled = False
                cmdNext.Enabled = False
                cmdLast.Enabled = False
             End If
   
          '如果是修改后取消,则恢复到修改前的数据
          ElseIf addg = 0 Then
             For i = 7 To 14
                Text1(i).Text = rs_client.Fields(i)
             Next i
          End If
          '设置各个text框不可写
          For i = 7 To 14
             Text1(i).Enabled = False
          Next i
   End Select
   
End Sub

Private Sub cmdClose_Click()
   Unload Me
End Sub

Private Sub cmdDel_Click()
   '当单击删除记录时,需要弹出一个提示框,警告用户
   Dim answer As String
   answer = MsgBox("确定要删除吗?", vbYesNo, "")
   '确实删除
   If answer = vbYes Then
      rs_client.Delete  '删除当前记录
      rs_client.Update  '更新删除
      MsgBox "成功删除!", vbOKOnly + vbExclamation, ""
   Else
       Exit Sub
   End If
   '删除之后,显示总信息条数需要减 1
   Text2.Text = Val(Text2.Text) - 1
   '删除当前记录后,需要显示下一条记录,如果删除的是最后一条记录,则显示上一条记录
   '先移动rs_client记录到后一条
   rs_client.MoveNext
   If rs_client.EOF Then
      rs_client.MovePrevious
      '如果没有到记录首则显示该记录
      If Not rs_client.BOF Then
         '由于2个选项卡需要显示的项不同,需要分别处理显示记录
         If SSTab1.Tab = 0 Then
         '当前处于家庭租户选项卡
            For i = 0 To 6
               Text1(i).Text = rs_client.Fields(i)
            Next i
            If rs_client.Fields(7) = "男" Then
               Combo1.ListIndex = 0
            ElseIf rs_client.Fields(7) = "女" Then
               Combo1.ListIndex = 1
            End If
         ElseIf SSTab1.Tab = 1 Then
         '当前处于公司租户选项卡
            For i = 7 To 14
               Text1(i).Text = rs_client.Fields(i)
            Next i
         End If
      '如果到记录首,则表格已经为空,置所有text框显示为空
      ElseIf rs_client.BOF Then
         If SSTab1.Tab = 0 Then
            For i = 0 To 6
               Text1(i).Text = ""
            Next i
         ElseIf SSTab1.Tab = 1 Then
            For i = 7 To 14
               Text1(i).Text = ""
            Next i
         End If
         cmdFirst.Enabled = False
         cmdPrev.Enabled = False
         cmdNext.Enabled = False
         cmdLast.Enabled = False
      End If
   '如果删除的不是首尾记录,则显示当前记录即可
   Else
      If SSTab1.Tab = 0 Then
         For i = 0 To 6
            Text1(i).Text = rs_client.Fields(i)
         Next i
         If rs_client.Fields(7) = "男" Then
            Combo1.ListIndex = 0
         ElseIf rs_client.Fields(7) = "女" Then
            Combo1.ListIndex = 1
         End If
      ElseIf SSTab1.Tab = 1 Then
         For i = 7 To 14
            Text1(i).Text = rs_client.Fields(i)
         Next i
      End If
   End If
End Sub

Private Sub cmdEdit_Click()
   
   '设置除保存和取消按钮外的其他按钮不可用
   cmdAdd.Enabled = False
   cmdEdit.Enabled = False
   cmdDel.Enabled = False
   cmdSave.Enabled = True
   cmdCancel.Enabled = True
   cmdFirst.Enabled = False
   cmdPrev.Enabled = False
   cmdNext.Enabled = False
   cmdLast.Enabled = False
   cmdQuery.Enabled = False
   If SSTab1.Tab = 0 Then
      '需要设置除主键之外的text框可写
      For i = 1 To 6
         Text1(i).Enabled = True
      Next i
      Combo1.Enabled = True
      addf = 0
   ElseIf SSTab1.Tab = 1 Then
      For i = 7 To 14
         Text1(i).Enabled = True
      Next i
      addg = 0
   End If
End Sub

Private Sub cmdFirst_Click()
   '先移动rs_client记录到第一条
   rs_client.MoveFirst
   '同时需要设置相应按钮为不可用和不可用
   cmdPrev.Enabled = False
   cmdFirst.Enabled = False

⌨️ 快捷键说明

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