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

📄 form29.frm

📁 小区物业管理系统完整文档及代码。帮助毕业同学做好毕业设计。
💻 FRM
📖 第 1 页 / 共 5 页
字号:
         Begin VB.Label Label1 
            BackColor       =   &H80000000&
            Caption         =   "上月数据"
            ForeColor       =   &H00000000&
            Height          =   255
            Index           =   36
            Left            =   3600
            TabIndex        =   40
            Top             =   1200
            Width           =   735
         End
         Begin VB.Label Label1 
            BackColor       =   &H80000000&
            Caption         =   "月份"
            ForeColor       =   &H00000000&
            Height          =   255
            Index           =   37
            Left            =   2160
            TabIndex        =   39
            Top             =   1200
            Width           =   495
         End
         Begin VB.Label Label1 
            BackColor       =   &H80000000&
            Caption         =   "年份"
            ForeColor       =   &H00000000&
            Height          =   255
            Index           =   38
            Left            =   240
            TabIndex        =   38
            Top             =   1200
            Width           =   495
         End
         Begin VB.Label Label1 
            BackColor       =   &H80000000&
            Caption         =   "物业地址"
            ForeColor       =   &H00000000&
            Height          =   255
            Index           =   39
            Left            =   4920
            TabIndex        =   37
            Top             =   600
            Width           =   735
         End
         Begin VB.Label Label1 
            BackColor       =   &H80000000&
            Caption         =   "住户姓名"
            ForeColor       =   &H00000000&
            Height          =   255
            Index           =   40
            Left            =   2400
            TabIndex        =   36
            Top             =   600
            Width           =   735
         End
         Begin VB.Label Label1 
            BackColor       =   &H80000000&
            Caption         =   "仪表编号"
            ForeColor       =   &H00000000&
            Height          =   255
            Index           =   41
            Left            =   120
            TabIndex        =   35
            Top             =   600
            Width           =   735
         End
      End
   End
End
Attribute VB_Name = "frmC2"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'定义一套用于水表选项卡的变量
Dim rs_water As New ADODB.Recordset
Dim rs_wcount As New ADODB.Recordset
Dim sqlw As String
Dim sqlwcount As String
Dim MsgText As String
'定义一套用于电表选项卡的变量
Dim rs_power As New ADODB.Recordset
Dim rs_pcount As New ADODB.Recordset
Dim sqlp As String
Dim sqlpcount As String

'定义一套用于气表选项卡的变量
Dim rs_gas As New ADODB.Recordset
Dim rs_gcount As New ADODB.Recordset
Dim sqlg As String
Dim sqlgcount As String

'设置3个变量用于分别判断水、电、气表保存时是从添加还是修改后保存
Dim addw
Dim addp
Dim addg

'定义一个k变量用于各选项卡上text控件系数的表示,使用它可以简化过程
Dim k As Integer

Private Sub cmdAdd_Click()
   
   '设置除保存和取消按钮外的其他按钮不可用
   cmdadd.Enabled = False
   cmdedit.Enabled = False
   cmddel.Enabled = False
   cmdsave.Enabled = True
   cmdcancel.Enabled = True
   cmdf.Enabled = False
   cmdp.Enabled = False
   cmdn.Enabled = False
   cmdl.Enabled = False
   cmdq.Enabled = False
   '使用k变量简化代码
   If SSTab1.Tab = 0 Then
      k = 0
      addw = 1
   ElseIf SSTab1.Tab = 1 Then
      k = 14
      addp = 1
   ElseIf SSTab1.Tab = 2 Then
      k = 28
      addg = 1
   End If
   '需要清空所有text框,并且设置它们可写
   For i = 0 To 13
      Text1(i + k).Text = ""
      Text1(i + k).Enabled = True
   Next i
   '本月用量和本月费用text 框的值通过计算得到,因此需要设置它们不可写
   Text1(7 + k).Enabled = False
   Text1(9 + k).Enabled = False
   Text1(0 + k).SetFocus
   '设置本月抄表日期和本月交费日期为当前日期,但还可以更改
   Text1(11 + k).Text = Date
   Text1(12 + k).Text = Date
End Sub

Private Sub cmdCancel_Click()
   '取消按钮用于用户添加或修改过程中放弃添加或修改操作
   cmdsave.Enabled = False
   cmdcancel.Enabled = False
   cmdadd.Enabled = True
   cmdedit.Enabled = True
   cmddel.Enabled = True
   cmdf.Enabled = True
   cmdp.Enabled = True
   cmdn.Enabled = True
   cmdl.Enabled = True
   cmdq.Enabled = True
   '如果是从添加后取消
   If SSTab1.Tab = 0 Then
      k = 0
      If addw = 1 Then
         '如果当前表中有数据则显示第一条数据
         If Not rs_water.EOF And Not rs_water.BOF Then
            For i = 0 To 13
               Text1(i + k).Text = rs_water.Fields(i)
            Next i
         '如果没有数据,则显示空
         Else
            For i = 0 To 13
               Text1(i + k).Text = ""
            Next i
         End If
         '如果是修改后取消,则恢复到修改前的数据
       ElseIf addw = 0 Then
            For i = 0 To 13
               Text1(i + k).Text = rs_water.Fields(i)
            Next i
       End If
   ElseIf SSTab1.Tab = 1 Then
      k = 14
      If addp = 1 Then
         '如果当前表中有数据则显示第一条数据
         If Not rs_water.EOF And Not rs_water.BOF Then
            For i = 0 To 13
               Text1(i + k).Text = rs_water.Fields(i)
            Next i
         '如果没有数据,则显示空
         Else
            For i = 0 To 13
               Text1(i + k).Text = ""
            Next i
         End If
         '如果是修改后取消,则恢复到修改前的数据
       ElseIf addp = 0 Then
            For i = 0 To 13
               Text1(i + k).Text = rs_water.Fields(i)
            Next i
       End If
   ElseIf SSTab1.Tab = 28 Then
      k = 28
      If addg = 1 Then
         '如果当前表中有数据则显示第一条数据
         If Not rs_water.EOF And Not rs_water.BOF Then
            For i = 0 To 13
               Text1(i + k).Text = rs_water.Fields(i)
            Next i
         '如果没有数据,则显示空
         Else
            For i = 0 To 13
               Text1(i + k).Text = ""
            Next i
         End If
         '如果是修改后取消,则恢复到修改前的数据
       ElseIf addg = 0 Then
            For i = 0 To 13
               Text1(i + k).Text = rs_water.Fields(i)
            Next i
       End If
   End If
   '设置各个text框不可写
   For i = 0 To 13
      Text1(i + k).Enabled = False
   Next i
   
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_water.Delete  '删除当前记录
      rs_water.Update  '更新删除
      MsgBox "成功删除!", vbOKOnly + vbExclamation, "注意"
   Else
       Exit Sub
   End If
   '删除之后,显示总信息条数需要减 1
   Text2.Text = Val(Text2.Text) - 1
   '删除当前记录后,需要显示下一条记录,如果删除的是最后一条记录,则显示上一条记录
   If SSTab1.Tab = 0 Then
      '先移动rs_water记录到后一条
      rs_water.MoveNext
      If rs_water.EOF Then
         rs_water.MovePrevious
         '如果没有到记录首则显示该记录
         If Not rs_water.BOF Then
            For i = 0 To 13
               Text1(i).Text = rs_water.Fields(i)
            Next i
         '如果到记录首,则表格已经为空,置所有text框显示为空
         ElseIf rs_water.BOF Then
            For i = 0 To 13
               Text1(i).Text = ""
            Next i
         End If
      '如果删除的不是首尾记录,则显示当前记录即可
      Else
         For i = 0 To 13
            Text1(i).Text = rs_water.Fields(i)
         Next i
      End If
   ElseIf SSTab1.Tab = 1 Then
      '先移动rs_power记录到后一条
      rs_power.MoveNext
      If rs_power.EOF Then
         rs_power.MovePrevious
         '如果没有到记录首则显示该记录
         If Not rs_power.BOF Then
            For i = 14 To 27
                Text1(i).Text = rs_power.Fields(i - 14)
            Next i
         '如果到记录首,则表格已经为空,置所有text框显示为空
         ElseIf rs_power.BOF Then
            For i = 14 To 27
               Text1(i).Text = ""
            Next i
         End If
      '如果删除的不是首尾记录,则显示当前记录即可
      Else
         For i = 14 To 27
            Text1(i).Text = rs_power.Fields(i - 14)
         Next i
      End If
   ElseIf SSTab1.Tab = 2 Then
      '先移动rs_gas记录到后一条
      rs_gas.MoveNext
      If rs_gas.EOF Then
         rs_gas.MovePrevious
         '如果没有到记录首则显示该记录
         If Not rs_gas.BOF Then
            For i = 28 To 41
               Text1(i).Text = rs_gas.Fields(i - 28)
            Next i
         '如果到记录首,则表格已经为空,置所有text框显示为空
         ElseIf rs_gas.BOF Then
            For i = 28 To 41
               Text1(i).Text = ""
            Next i
         End If
      '如果删除的不是首尾记录,则显示当前记录即可
      Else
         For i = 28 To 41
            Text1(i).Text = rs_gas.Fields(i - 28)
         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
   cmdf.Enabled = False
   cmdp.Enabled = False
   cmdn.Enabled = False
   cmdl.Enabled = False
   cmdq.Enabled = False
   
   '需要设置除主键和本月用量、本月费用text 框之外的text框可写
   If SSTab1.Tab = 0 Then
      For i = 1 To 13
         Text1(i).Enabled = True
      Next i
      Text1(7).Enabled = False
      Text1(9).Enabled = False
      '设置addw变量为0
      addw = 0
   ElseIf SSTab1.Tab = 1 Then
      For i = 15 To 27
         Text1(i).Enabled = True
      Next i
      Text1(21).Enabled = False
      Text1(23).Enabled = False
      '设置addp变量为0
      addp = 0
   ElseIf SSTab1.Tab = 2 Then
      For i = 29 To 41
         Text1(i).Enabled = True
      Next i
      Text1(35).Enabled = False
      Text1(37).Enabled = False
      '设置addg变量为0
      addg = 0
   End If
   
End Sub

Private Sub cmdf_Click()
   
   '需要设置相应按钮为不可用和不可用
   cmdp.Enabled = False
   cmdf.Enabled = False
   cmdn.Enabled = True
   cmdl.Enabled = True
   If SSTab1.Tab = 0 Then
      '移动rs_water记录到第一条
      rs_water.MoveFirst
      '如果已经是第一条记录,则提示用户
      If rs_water.BOF = True Then
         MsgBox "对不起,已经是第一条记录了!", vbOKOnly + vbInformation, "注意"
         Exit Sub
      '如果不是,则个数据表的记录位置移到第一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_water.Fields(i)) = True Then
               Text1(i).Text = ""
            Else
               Text1(i).Text = rs_water.Fields(i)
            End If
         Next i
      End If
   ElseIf SSTab1.Tab = 1 Then

⌨️ 快捷键说明

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