📄 frmreader1.frm
字号:
Attribute VB_Name = "frmReader1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'是否改动过记录,ture为改过
Dim mblChange As Boolean
Dim mrc As ADODB.Recordset
Public txtSQL As String
Private Sub cboItem_Change(Index As Integer)
'有变化设置gblchange
mblChange = True
End Sub
Private Sub cboItem_Click(Index As Integer)
Dim sSql As String
Dim MsgText As String
Dim mrccc As ADODB.Recordset
Dim intCount As Integer
'初始化员工名称和ID
If Index = 1 Then
txtSQL = "select * from readertype where typename = '" & Trim(cboItem(1)) & "'"
Set mrccc = ExecuteSQL(txtSQL, MsgText)
If Not mrccc.EOF Then
cboItem(0).Clear
cboItem(0).AddItem Trim(mrccc.Fields(0))
cboItem(0).ListIndex = 0
For intCount = 2 To 4
cboItem(intCount).Clear
cboItem(intCount).AddItem Trim(mrccc.Fields(intCount))
cboItem(intCount).ListIndex = 0
Next intCount
End If
mrccc.Close
End If
End Sub
Private Sub cboItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
EnterToTab KeyCode
End Sub
Private Sub cmdExit_Click()
If mblChange And cmdSave.Enabled Then
If MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
'保存
Call cmdSave_Click
End If
End If
Unload Me
End Sub
Private Sub cmdSave_Click()
Dim intCount As Integer
Dim sMeg As String
Dim mrcc As ADODB.Recordset
Dim MsgText As String
For intCount = 0 To 6
If Trim(txtItem(intCount) & " ") = "" Then
Select Case intCount
Case 0
sMeg = "读者编号"
Case 1
sMeg = "读者姓名"
Case 2
sMeg = "工作单位"
Case 3
sMeg = "家庭住址"
Case 4
sMeg = "电话号码"
Case 5
sMeg = "电子邮件地址"
Case 6
sMeg = "办证日期"
End Select
sMeg = sMeg & "不能为空!"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtItem(intCount).SetFocus
Exit Sub
End If
Next intCount
If Not IsDate(Trim(txtItem(6))) Then
MsgBox "请输入日期!", vbOKOnly + vbExclamation, "警告"
Exit Sub
Else
txtItem(6) = Format(txtItem(6), "yyyy-mm-dd")
End If
If gintRmode = 1 Then
txtSQL = "select * from readers where readerno='" & Trim(txtItem(0)) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
MsgBox "已经存在此读者编号的记录!", vbOKOnly + vbExclamation, "警告"
txtItem(0).SetFocus
Exit Sub
End If
mrc.Close
End If
If gintRmode = 2 Then
'先删除已有记录
txtSQL = "delete from readers where readerno='" & Trim(txtItem(0)) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
End If
'再加入新记录
txtSQL = "select * from readers"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.AddNew
For intCount = 0 To 1
mrc.Fields(intCount) = Trim(txtItem(intCount))
Next intCount
mrc.Fields(2) = Trim(cboItem(5))
mrc.Fields(3) = Trim(cboItem(1))
For intCount = 2 To 7
mrc.Fields(intCount + 2) = Trim(txtItem(intCount))
Next intCount
mrc.Update
mrc.Close
If gintRmode = 1 Then
For intCount = 0 To 7
txtItem(intCount) = ""
Next intCount
mblChange = False
If flagRedit Then
Unload frmReader
frmReader.txtSQL = "select * from readers"
frmReader.Show
End If
ElseIf gintRmode = 2 Then
Unload Me
If flagRedit Then
Unload frmReader
End If
frmReader.txtSQL = "select * from readers"
frmReader.Show
End If
End Sub
Private Sub Form_Load()
Dim sSql As String
Dim intCount As Integer
Dim MsgText As String
Dim mrcc As ADODB.Recordset
If gintRmode = 1 Then
Me.Caption = Me.Caption & "添加"
'初始化物资名称
txtSQL = "select DISTINCT typename from readertype"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not mrc.EOF Then
Do While Not mrc.EOF
cboItem(1).AddItem Trim(mrc.Fields(0))
mrc.MoveNext
Loop
cboItem(1).ListIndex = 0
Else
MsgBox "请先进行读者种类设置!", vbOKOnly + vbExclamation, "警告"
cmdSave.Enabled = False
Exit Sub
End If
mrc.Close
cboItem(5).AddItem "男"
cboItem(5).AddItem "女"
ElseIf gintRmode = 2 Then
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If mrcc.EOF = False Then
With mrcc
For intCount = 0 To 1
If Not IsNull(.Fields(intCount)) Then
txtItem(intCount) = .Fields(intCount)
End If
Next intCount
cboItem(1).Clear
cboItem(1).AddItem .Fields(3)
cboItem(1).ListIndex = 0
cboItem(5).Clear
cboItem(5).AddItem .Fields(2)
cboItem(5).ListIndex = 0
For intCount = 2 To 7
If Not IsNull(.Fields(intCount)) Then
txtItem(intCount) = .Fields(intCount + 2)
End If
Next intCount
txtSQL = "select * from readertype where typename = '" & Trim(cboItem(0)) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not mrc.EOF Then
cboItem(0).Clear
cboItem(0).AddItem Trim(mrc.Fields(0))
cboItem(0).ListIndex = 0
For intCount = 2 To 4
cboItem(intCount).Clear
cboItem(intCount).AddItem Trim(mrc.Fields(intCount))
cboItem(intCount).ListIndex = 0
Next intCount
End If
mrc.Close
txtSQL = "select DISTINCT typename from readertype"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not mrc.EOF Then
Do While Not mrc.EOF
cboItem(1).AddItem Trim(mrc.Fields(0))
mrc.MoveNext
Loop
Else
MsgBox "请先进行读者种类设置!", vbOKOnly + vbExclamation, "警告"
cmdSave.Enabled = False
Exit Sub
End If
mrc.Close
cboItem(5).Clear
cboItem(5).AddItem "男"
cboItem(5).AddItem "女"
End With
End If
mrcc.Close
Me.Caption = Me.Caption & "修改"
End If
mblChange = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
gintRmode = 0
End Sub
Private Sub txtItem_Change(Index As Integer)
'有变化设置gblchange
mblChange = True
End Sub
Private Sub txtItem_GotFocus(Index As Integer)
txtItem(Index).SelStart = 0
txtItem(Index).SelLength = Len(txtItem(Index))
End Sub
Private Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
EnterToTab KeyCode
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -