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

📄 form29.frm

📁 小区物业管理系统完整文档及代码。帮助毕业同学做好毕业设计。
💻 FRM
📖 第 1 页 / 共 5 页
字号:
      '移动rs_power记录到第一条
      rs_power.MoveFirst
      '如果已经是第一条记录,则提示用户
      If rs_power.BOF = True Then
         MsgBox "对不起,已经是第一条记录了!", vbOKOnly + vbInformation, "注意"
         Exit Sub
      '如果不是,则个数据表的记录位置移到第一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_power.Fields(i)) = True Then
               Text1(i + 14).Text = ""
            Else
               Text1(i + 14).Text = rs_power.Fields(i)
            End If
         Next i
      End If
   ElseIf SSTab1.Tab = 2 Then
      '移动rs_gas记录到第一条
      rs_gas.MoveFirst
      '如果已经是第一条记录,则提示用户
      If rs_gas.BOF = True Then
         MsgBox "对不起,已经是第一条记录了!", vbOKOnly + vbInformation, "注意"
         Exit Sub
      '如果不是,则个数据表的记录位置移到第一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_gas.Fields(i)) = True Then
               Text1(i + 28).Text = ""
            Else
               Text1(i + 28).Text = rs_gas.Fields(i)
            End If
         Next i
      End If
   End If
End Sub

Private Sub cmdl_Click()
   
   cmdf.Enabled = True
   cmdp.Enabled = True
   cmdn.Enabled = False
   cmdl.Enabled = False
   If SSTab1.Tab = 0 Then
      '移动rs_water记录到最后一条
      rs_water.MoveLast
      '如果已经是最后一条记录,则提示用户
      If rs_water.EOF = 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
      '移动rs_power记录到最后一条
      rs_power.MoveLast
      '如果已经是最后一条记录,则提示用户
      If rs_power.EOF = True Then
         MsgBox "对不起,已经是最后一条记录了!", vbOKOnly + vbInformation, "注意"
         Exit Sub
      '如果不是最后一条,则个数据表的记录位置移到后一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_power.Fields(i)) = True Then
               Text1(i + 14).Text = ""
            Else
               Text1(i + 14).Text = rs_power.Fields(i)
            End If
         Next i
      End If
   ElseIf SSTab1.Tab = 2 Then
      '移动rs_gas记录到最后一条
      rs_gas.MoveLast
      '如果已经是最后一条记录,则提示用户
      If rs_gas.EOF = True Then
         MsgBox "对不起,已经是最后一条记录了!", vbOKOnly + vbInformation, "注意"
         Exit Sub
      '如果不是最后一条,则个数据表的记录位置移到后一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_gas.Fields(i)) = True Then
               Text1(i + 28).Text = ""
            Else
               Text1(i + 28).Text = rs_gas.Fields(i)
            End If
         Next i
      End If
   End If
End Sub

Private Sub cmdn_Click()
   
   '设置前一条和第一条按钮可用
   cmdp.Enabled = True
   cmdf.Enabled = True
   If SSTab1.Tab = 0 Then
      '先移动rs_water记录到后一条
      rs_water.MoveNext
      '如果已经是最后一条记录,则提示用户
      If rs_water.EOF = True Then
         MsgBox "对不起,已经是最后一条记录了!", vbOKOnly + vbInformation, "注意"
         '并且设置“后一条”和最后一条按钮不可用
         cmdn.Enabled = False
         cmdl.Enabled = False
         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
      '先移动rs_power记录到后一条
      rs_power.MoveNext
      '如果已经是最后一条记录,则提示用户
      If rs_power.EOF = True Then
         MsgBox "对不起,已经是最后一条记录了!", vbOKOnly + vbInformation, "注意"
         '并且设置“后一条”和最后一条按钮不可用
         cmdn.Enabled = False
         cmdl.Enabled = False
         Exit Sub
      '如果不是,则个数据表的记录位置移到后一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_power.Fields(i)) = True Then
               Text1(i + 14).Text = ""
            Else
               Text1(i + 14).Text = rs_power.Fields(i)
            End If
         Next i
      End If
   ElseIf SSTab1.Tab = 2 Then
      '先移动rs_gas记录到后一条
      rs_gas.MoveNext
      '如果已经是最后一条记录,则提示用户
      If rs_gas.EOF = True Then
         MsgBox "对不起,已经是最后一条记录了!", vbOKOnly + vbInformation, "注意"
         '并且设置“后一条”和最后一条按钮不可用
         cmdn.Enabled = False
         cmdl.Enabled = False
         Exit Sub
      '如果不是,则个数据表的记录位置移到后一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_gas.Fields(i)) = True Then
               Text1(i + 28).Text = ""
            Else
               Text1(i + 28).Text = rs_gas.Fields(i)
            End If
         Next i
      End If
   End If
End Sub

Private Sub cmdp_Click()
   
   '设置后一条和最后一条按钮可用
   cmdn.Enabled = True
   cmdl.Enabled = True
   If SSTab1.Tab = 0 Then
      '先移动rs_water记录到前一条
      rs_water.MovePrevious
      '如果已经是第一条记录,则提示用户
      If rs_water.BOF = True Then
         MsgBox "对不起,已经是第一条记录了!", vbOKOnly + vbInformation, "注意"
         '并且设置“前一条”和第一条按钮不可用
         cmdp.Enabled = False
         cmdf.Enabled = False
         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
      '先移动rs_power记录到前一条
      rs_power.MovePrevious
      '如果已经是第一条记录,则提示用户
      If rs_power.BOF = True Then
         MsgBox "对不起,已经是第一条记录了!", vbOKOnly + vbInformation, "注意"
         '并且设置“前一条”和第一条按钮不可用
         cmdp.Enabled = False
         cmdf.Enabled = False
         Exit Sub
      '如果不是,则个数据表的记录位置移到前一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_power.Fields(i)) = True Then
               Text1(i + 14).Text = ""
            Else
               Text1(i + 14).Text = rs_power.Fields(i)
            End If
         Next i
      End If
   ElseIf SSTab1.Tab = 2 Then
      '先移动rs_gas记录到前一条
      rs_gas.MovePrevious
      '如果已经是第一条记录,则提示用户
      If rs_gas.BOF = True Then
         MsgBox "对不起,已经是第一条记录了!", vbOKOnly + vbInformation, "注意"
         '并且设置“前一条”和第一条按钮不可用
         cmdp.Enabled = False
         cmdf.Enabled = False
         Exit Sub
      '如果不是,则个数据表的记录位置移到前一条记录,并且显示之
      Else
         For i = 0 To 13
            If IsNull(rs_gas.Fields(i)) = True Then
               Text1(i + 28).Text = ""
            Else
               Text1(i + 28).Text = rs_gas.Fields(i)
            End If
         Next i
      End If
   End If
End Sub

Private Sub cmdq_Click()
   frmqyibiao.Show
End Sub

Private Sub cmdSave_Click()
      '使用 k 变量简化代码
      If SSTab1.Tab = 0 Then
         k = 0
      ElseIf SSTab1.Tab = 1 Then
         k = 14
      ElseIf SSTab1.Tab = 2 Then
         k = 28
      End If
      
      '设置本月抄表日期和本月交费日期为当前日期
      Text1(11 + k).Text = Date
      Text1(12 + k).Text = Date
      '检测数据是否完整
      If Text1(0 + k).Text = "" Then
         MsgBox "仪表编号不可为空!", vbOKOnly + vbInformation, "注意"
         Text1(0 + k).SetFocus
         Exit Sub
      ElseIf Text1(1 + k).Text = "" Then
         MsgBox "住户姓名不可为空!", vbOKOnly + vbInformation, "注意"
         Text1(1 + k).SetFocus
         Exit Sub
      ElseIf Not (Val(Text1(3 + k).Text) < 3000 And Val(Text1(3 + k).Text) > 1900) Then
         MsgBox "年份输入不正确!", vbOKOnly + vbInformation, "注意"
         Text1(3 + k).SetFocus
         Exit Sub
      ElseIf Not (Val(Text1(4 + k).Text) >= 1 And Val(Text1(4 + k).Text) <= 12) Then
         MsgBox "月份书写不对,应为1-12的数字!", vbOKOnly + vbInformation, "注意"
         Text1(4 + k).SetFocus
         Exit Sub
      ElseIf IsNumeric(Text1(5 + k).Text) = False Then
         MsgBox "上月数据必须为数字!", vbOKOnly + vbInformation, "注意"
         Text1(5 + k).SetFocus
         Exit Sub
      ElseIf IsNumeric(Text1(6 + k).Text) = False Then
         MsgBox "本月数据必须为数字!", vbOKOnly + vbInformation, "注意"
         Text1(6 + k).SetFocus
         Exit Sub
      ElseIf IsNumeric(Text1(8 + k).Text) = False Then
         MsgBox "本月费用必须为数字!", vbOKOnly + vbInformation, "注意"
         Text1(8 + k).SetFocus
         Exit Sub
      ElseIf IsDate(Text1(10 + k).Text) = False Then
         MsgBox "上月抄表日期必须为这样的日期格式2003-7-25!", vbOKOnly + vbInformation, "注意"
         Text1(10 + k).SetFocus
         Exit Sub
      ElseIf IsDate(Text1(11 + k).Text) = False Then
         MsgBox "本月抄表日期必须为这样的日期格式2003-7-25!", vbOKOnly + vbInformation, "注意"
         Text1(11 + k).SetFocus
         Exit Sub
      ElseIf IsDate(Text1(12 + k).Text) = False Then
         MsgBox "本月交费日期必须为这样的日期格式2003-7-25!", vbOKOnly + vbInformation, "注意"
         Text1(12 + k).SetFocus
         Exit Sub
      End If
   '本月用量和本月费用通过计算得到
   Text1(7 + k).Text = Val(Text1(6 + k).Text) - Val(Text1(5 + k).Text)
   Text1(9 + k).Text = Val(Text1(7 + k).Text) * Val(Text1(8 + k).Text)
   '3个选项卡的保存代码
   If SSTab1.Tab = 0 Then
      '添加数据后保存
      If addw = 1 Then
         '检测房间编号这个主键是否已经在表中存在
         Dim rs_wcheck As New ADODB.Recordset
         Dim sqlwCheck As String
         sqlwCheck = "select * from sbzl where 仪表编号= '" & (Text1(0 + k).Text) & "'"
         Set rs_wcheck = ExecuteSQL(sqlwCheck, MsgText)
         If Not rs_wcheck.EOF And Not rs_wcheck.BOF Then
            MsgBox "该仪表编号已经存在,请重填一个!", vbOKOnly + vbInformation, "注意"
            rs_wcheck.Close
            Text1(0 + k).SetFocus
            Text1(0 + k).Text = ""
            Exit Sub
         End If
         rs_wcheck.Close
         '主键不重复,可以加入表中
         rs_water.AddNew
         For i = 0 To 13
            rs_water.Fields(i) = Text1(i + k).Text
         Next i
         rs_water.Update
         '添加之后显示总共条数信息加 1
         Text2.Text = Val(Text2.Text) + 1
      '修改数据后的保存
      Else
       rs_water.Delete
      rs_water.AddNew

      For i = 0 To 13
          rs_water.Fields(i) = Text1(i).Text
      Next i
      rs_water.Update
        
      End If
   ElseIf SSTab1.Tab = 1 Then
      '添加数据后保存
      If addp = 1 Then
         '检测房间编号这个主键是否已经在表中存在
         Dim rs_pcheck As New ADODB.Recordset
         Dim sqlpcheck As String
         sqlpcheck = "select * from dbzl where 仪表编号= '" & (Text1(0 + k).Text) & "'"
         Set rs_pcheck = ExecuteSQL(sqlpcheck, MsgText)
         If Not rs_pcheck.EOF And Not rs_pcheck.BOF Then
            MsgBox "该仪表编号已经存在,请重填一个!", vbOKOnly + vbInformation, "注意"
            rs_pcheck.Close
            Text1(0 + k).SetFocus
            Text1(0 + k).Text = ""
            Exit Sub
         End If
         rs_pcheck.Close
         '主键不重复,可以加入表中
         rs_power.AddNew
         For i = 0 To 13
            rs_power.Fields(i) = Text1(i + k).Text
         Next i
         rs_power.Update
         '添加之后显示总共条数信息加 1
         Text2.Text = Val(Text2.Text) + 1
      '修改数据后的保存
      Else
         rs_power.Delete
         rs_power.AddNew
         For i = 0 To 13
              rs_power.Fields(i) = Text1(i + 14).Text
         Next i
         rs_power.Update
      End If
   ElseIf SSTab1.Tab = 2 Then
      '添加数据后保存
      If addg = 1 Then
         '检测房间编号这个主键是否已经在表中存在
         Dim rs_gcheck As New ADODB.Recordset
         Dim sqlgcheck As String
         sqlgcheck = "select * from qbzl where 仪表编号= '" & (Text1(0 + k).Text) & "'"
         S

⌨️ 快捷键说明

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