📄 frmclient.frm
字号:
cmdNext.Enabled = True
cmdLast.Enabled = True
'如果已经是第一条记录,则提示用户
If rs_client.BOF = True Then
MsgBox "对不起,已经是第一条记录了!", vbOKOnly + vbInformation, "注意"
Exit Sub
'如果不是,则个数据表的记录位置移到第一条记录,并且显示之
Else
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
End Sub
Private Sub cmdLast_Click()
'移动rs_client记录到最后一条
rs_client.MoveLast
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = False
cmdLast.Enabled = False
'如果已经是最后一条记录,则提示用户
If rs_client.EOF = True Then
MsgBox "对不起,已经是最后一条记录了!", vbOKOnly + vbInformation, "注意"
Exit Sub
'如果不是最后一条,则数据表的记录位置移到后一条记录,并且显示之
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 - 7)
Next i
End If
End If
End Sub
Private Sub cmdNext_Click()
'先移动rs_client记录到后一条
rs_client.MoveNext
'设置前一条和第一条按钮可用
cmdPrev.Enabled = True
cmdFirst.Enabled = True
'如果已经是最后一条记录,则提示用户
If rs_client.EOF = True Then
MsgBox "对不起,已经是最后一条记录了!", vbOKOnly + vbInformation, "注意"
'并且设置“后一条”和最后一条按钮不可用
cmdNext.Enabled = False
cmdLast.Enabled = False
Exit Sub
'如果不是,则个数据表的记录位置移到后一条记录,并且显示之
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 - 7)
Next i
End If
End If
End Sub
Private Sub cmdPrev_Click()
'先移动rs_client记录到前一条
rs_client.MovePrevious
'设置后一条和最后一条按钮可用
cmdNext.Enabled = True
cmdLast.Enabled = True
'如果已经是第一条记录,则提示用户
If rs_client.BOF = True Then
MsgBox "对不起,已经是第一条记录了!", vbOKOnly + vbInformation, "注意"
'并且设置“前一条”和第一条按钮不可用
cmdPrev.Enabled = False
cmdFirst.Enabled = False
Exit Sub
'如果不是,则数据表的记录位置移到前一条记录,并且显示之
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 - 7)
Next i
End If
End If
End Sub
Private Sub cmdQuery_Click()
If SSTab1.Tab = 0 Then
frmQueryClientf.Show
ElseIf SSTab1.Tab = 1 Then
frmQueryClientg.Show
End If
End Sub
Private Sub cmdSave_Click()
If SSTab1.Tab = 0 Then
'检测数据是否完整
If Text1(0).Text = "" Then
MsgBox "租户编号不可为空!", vbOKOnly + vbInformation, "注意"
Text1(0).SetFocus
Exit Sub
ElseIf Text1(1).Text = "" Then
MsgBox "租户姓名不可为空!", vbOKOnly + vbInformation, "注意"
Text1(1).SetFocus
Exit Sub
ElseIf Text1(4).Text = "" Then
MsgBox "身份证号不可为空!", vbOKOnly + vbInformation, "注意"
Text1(4).SetFocus
Exit Sub
ElseIf Not Text1(5).Text = "" And IsNumeric(Text1(5).Text) = False Then
MsgBox "租住人数应为数字!", vbOKOnly + vbInformation, "注意"
Text1(5).SetFocus
Exit Sub
End If
'添加数据后保存
If addf = 1 Then
'检测编号这个主键是否已经在表中存在
Dim rs_check As New ADODB.Recordset
Dim sqlCheck As String
sqlCheck = "select * from Client where 租户编号= '" & (Text1(0).Text) & "'"
rs_check.Open sqlCheck, conn, adOpenStatic, adLockOptimistic
If Not rs_check.EOF And Not rs_check.BOF Then
MsgBox "该租户编号已经存在,请重填一个!", vbOKOnly + vbInformation, "注意"
rs_check.Close
Text1(0).SetFocus
Text1(0).Text = ""
Exit Sub
End If
rs_check.Close
'主键不重复,可以加入表中
rs_client.AddNew
For i = 0 To 6
rs_client.Fields(i) = Text1(i).Text
Next i
rs_client.Fields(7) = Combo1.Text
rs_client.Update
'添加之后显示总共条数信息加 1
Text2.Text = Val(Text2.Text) + 1
'修改数据后的保存
Else
rs_client.Update
End If
'保存后重新设置各text不可写
For i = 0 To 6
Text1(i).Enabled = False
Next i
Combo1.Enabled = False
ElseIf SSTab1.Tab = 1 Then
'检测数据是否完整
If Text1(7).Text = "" Then
MsgBox "租户编号不可为空!", vbOKOnly + vbInformation, "注意"
Text1(7).SetFocus
Exit Sub
ElseIf Text1(8).Text = "" Then
MsgBox "公司名称不可为空!", vbOKOnly + vbInformation, "注意"
Text1(8).SetFocus
Exit Sub
ElseIf Text1(9).Text = "" Then
MsgBox "公司性质不可为空!", vbOKOnly + vbInformation, "注意"
Text1(9).SetFocus
Exit Sub
ElseIf Text1(10).Text = "" Then
MsgBox "经营范围不可为空!", vbOKOnly + vbInformation, "注意"
Text1(10).SetFocus
Exit Sub
ElseIf Text1(11).Text = "" Then
MsgBox "法人代表不可为空!", vbOKOnly + vbInformation, "注意"
Text1(11).SetFocus
Exit Sub
ElseIf Text1(12).Text = "" Then
MsgBox "联系人不可为空!", vbOKOnly + vbInformation, "注意"
Text1(12).SetFocus
Exit Sub
ElseIf Text1(13).Text = "" Then
MsgBox "电话不可为空!", vbOKOnly + vbInformation, "注意"
Text1(13).SetFocus
Exit Sub
End If
'添加数据后保存
If addg = 1 Then
'检测编号这个主键是否已经在表中存在
Dim rs_checkg As New ADODB.Recordset
Dim sqlCheckg As String
sqlCheckg = "select * from GongSi where 租户编号= '" & (Text1(7).Text) & "'"
rs_checkg.Open sqlCheckg, conn, adOpenStatic, adLockOptimistic
If Not rs_checkg.EOF And Not rs_checkg.BOF Then
MsgBox "该租户编号已经存在,请重填一个!", vbOKOnly + vbInformation, "注意"
rs_checkg.Close
Text1(7).SetFocus
Text1(7).Text = ""
Exit Sub
End If
rs_checkg.Close
'主键不重复,可以加入表中
rs_client.AddNew
For i = 7 To 14
rs_client.Fields(i - 7) = Text1(i).Text
Next i
rs_client.Update
'添加之后显示总共条数信息加 1
Text2.Text = Val(Text2.Text) + 1
'修改数据后的保存
Else
rs_client.Update
End If
'保存后重新设置各text不可写
For i = 7 To 14
Text1(i).Enabled = False
Next i
End If
'以下是不管处于那个选项卡都需要的代码,故放在最后
MsgBox "保存数据成功!", vbOKOnly + vbInformation, "祝贺"
'保存后需要设置其他按钮可用,以及各个text框不可写
cmdAdd.Enabled = True
cmdEdit.Enabled = True
cmdDel.Enabled = True
cmdSave.Enabled = False
cmdCancel.Enabled = False
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
cmdQuery.Enabled = True
End Sub
Private Sub Form_Activate()
Dim X0 As Long
Dim Y0 As Long
'让窗体居中
X0 = Screen.Width
Y0 = Screen.Height
X0 = (X0 - Me.Width) / 2
Y0 = (Y0 - Me.Height) / 2
Me.Move X0, Y0
cmdSave.Enabled = False
cmdCancel.Enabled = False
Combo1.ListIndex = 0
'分别处理2个选项卡
Select Case SSTab1.Tab
'家庭租户选项卡
Case 0
'每个选项卡中又分进入显示和查询显示两种情况
'如果不是查询显示,则显示第一条记录
If querycf = False Then
'在from_laod()方法中打开住户信息表
'如果rs_count rs_client 当前状态是打开的,则先关闭之
If rs_count.State = adStateOpen Then
rs_count.Close
End If
If rs_client.State = adStateOpen Then
rs_client.Close
End If
sqlclient = "select * from Client"
rs_client.CursorLocation = adUseClient
rs_client.Open sqlclient, conn, adOpenStatic, adLockOptimistic
If rs_client.EOF Then
Text2.Text = 0
'没有记录,则提示用户,退出本过程
MsgBox "当前表中没有记录!", vbOKOnly + vbInformation, "注意"
'如果是0条记录,需要设置前翻后翻的按钮为不可用
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdDel.Enabled = False
cmdEdit.Enabled = False
cmdSave.Enabled = False
Exit Sub
'找到符合条件的记录
Else
'如果有记录,需要设置前翻后翻的按钮为可用
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
cmdDel.Enabled = True
cmdEdit.Enabled = True
cmdSave.Enabled = True
'计算总共数据条数
sqlcount = "select count(*) from Client"
rs_count.Open sqlcount, conn, adOpenStatic, adLockOptimistic
'有记录则,显示第一条,并且显示记录条数
Text2.Text = rs_count.Fields(0)
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
End If
End If
'如果是查询显示则相应sql语句为查询语句
ElseIf querycf = True Then
'因为开始显示时必定打开了rs_client,rs_count,所以应该先关闭它们
rs_client.Close
rs_count.Close
sqlclient = "select * from Client " & sqlqcf
rs_client.CursorLocation = adUseClient
rs_client.Open sqlclient, conn, adOpenStatic, adLockOptimistic
If rs_client.EOF Then
Text2.Text = 0
'如果没有找到记录,则提示用户,置空所有text控件,并且退出本子过程
MsgBox "没有找到符合条件的记录", vbOKOnly + vbInformation, "注意"
For i = 0 To 6
Text1(i).Text = ""
Next i
'如果是0条记录,需要设置前翻后翻的按钮为不可用
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdDel.Enabled = False
cmdEdit.Enabled = False
cmdSave.Enabled = False
Exit Sub
'找到符合条件的记录
Else
'如果有记录,需要设置前翻后翻的按钮为可用
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
cmdDel.Enabled = True
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -