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

📄 仪表数据管理.frm

📁 物业管理系统,VB做的,小试牛刀,不吝赐教
💻 FRM
📖 第 1 页 / 共 5 页
字号:
            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
   cmdFirst.Enabled = False
   cmdPrev.Enabled = False
   cmdNext.Enabled = False
   cmdLast.Enabled = False
   cmdQuery.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 cmdFirst_Click()
   
   '需要设置相应按钮为不可用和不可用
   cmdPrev.Enabled = False
   cmdFirst.Enabled = False
   cmdNext.Enabled = True
   cmdLast.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
      '移动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 cmdLast_Click()
   
   cmdFirst.Enabled = True
   cmdPrev.Enabled = True
   cmdNext.Enabled = False
   cmdLast.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 cmdNext_Click()
   
   '设置前一条和第一条按钮可用
   cmdPrev.Enabled = True
   cmdFirst.Enabled = True
   If SSTab1.Tab = 0 Then
      '先移动rs_water记录到后一条
      rs_water.MoveNext
      '如果已经是最后一条记录,则提示用户
      If rs_water.EOF = True Then
         MsgBox "对不起,已经是最后一条记录了!", vbOKOnly + vbInformation, "注意"
         '并且设置“后一条”和最后一条按钮不可用
         cmdNext.Enabled = False
         cmdLast.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, "注意"
         '并且设置“后一条”和最后一条按钮不可用
         cmdNext.Enabled = False
         cmdLast.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, "注意"
         '并且设置“后一条”和最后一条按钮不可用
         cmdNext.Enabled = False
         cmdLast.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 cmdPrev_Click()
   

⌨️ 快捷键说明

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