?? b基本信息.frm
字號(hào):
Width = 615
End
Begin VB.Label Label7
Caption = "出生日期:"
Height = 375
Index = 0
Left = 2640
TabIndex = 22
Top = 960
Width = 1335
End
Begin VB.Label Label8
Caption = "(8位)"
Enabled = 0 'False
ForeColor = &H000000FF&
Height = 255
Left = 2280
TabIndex = 21
Top = 480
Width = 615
End
End
Begin VB.Frame FrameStuList
Caption = "學(xué)生列表"
Height = 5415
Left = 120
TabIndex = 18
Top = 240
Width = 2055
Begin VB.ListBox ListStu
Height = 4935
Left = 120
TabIndex = 19
Top = 240
Width = 1815
End
End
End
End
Attribute VB_Name = "B基本信息"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim rs As ADODB.Recordset
Dim SQL As String
Dim msg As String
Dim Index As Integer
Dim strClassNo As String '班號(hào)
Dim flag As String '判斷是新增加記錄還是修改記錄
Private Sub FixData() '顯示數(shù)據(jù)
Dim stuNo As String '學(xué)號(hào)
If ListStu.ListCount > 0 Then
stuNo = Left(Trim(ListStu.Text), 8)
End If
FrameStuInfo.Caption = stuNo & "號(hào)學(xué)生信息"
'查找數(shù)據(jù)
rs.MoveFirst
rs.Find ("學(xué)號(hào)='" & stuNo & "'")
txtItem(0).Text = Trim(rs.Fields("學(xué)號(hào)"))
txtItem(1).Text = Trim(rs.Fields("姓名"))
If IsDate(Trim(rs.Fields("入學(xué)日期"))) Then
DTPicker1(0).Value = Trim(rs.Fields("入學(xué)日期")) '時(shí)間控件
End If
CboSelect(0).Text = Trim(rs.Fields("性別"))
If IsDate(Trim(rs.Fields("出生日期"))) Then
DTPicker1(1).Value = Trim(rs.Fields("出生日期")) '時(shí)間控件
End If
txtItem(2).Text = Trim(rs.Fields("籍貫"))
CboSelect(1).Text = Trim(rs.Fields("民族"))
txtItem(3).Text = Trim(rs.Fields("身份證號(hào)"))
CboSelect(2).Text = Trim(rs.Fields("政治面貌"))
txtItem(4).Text = Trim(rs.Fields("電話"))
txtItem(5).Text = Trim(rs.Fields("住址"))
txtItem(6).Text = Trim(rs.Fields("郵箱"))
txtItem(7).Text = Trim(rs.Fields("教育背景"))
txtItem(8).Text = Trim(rs.Fields("備注"))
'控件可用性
For Index = 1 To 8
txtItem(Index).Enabled = False
Next Index
For Index = 0 To 2
CboSelect(Index).Enabled = False
Next Index
For Index = 0 To 1
DTPicker1(0).Enabled = False
Next Index
End Sub
Private Function CheckData() As Boolean
'檢查數(shù)據(jù)的合法性
Dim rst As ADODB.Recordset
Dim msgt As String
msgt = ""
'檢查數(shù)據(jù)非空性
If Trim(txtItem(0).Text) = "" Then
msgt = "學(xué)號(hào)為空; "
ElseIf Not Len(Trim(txtItem(0).Text)) = 8 Then
msgt = "學(xué)號(hào)不是8位; "
ElseIf Not Left(Trim(txtItem(0).Text), 6) = strClassNo Then
msgt = "學(xué)號(hào)錯(cuò)誤; "
End If
If Trim(txtItem(1).Text) = "" Then
msgt = msgt & " 姓名為空; "
End If
If Not msgt = "" Then
MsgBox (msgt)
CheckData = False
Exit Function
End If
'檢查唯一性
SQL = " select 學(xué)號(hào) from 學(xué)生基本信息表 where 學(xué)號(hào)='" & Trim(txtItem(0).Text) & "'"
Set rst = SelectSQL(SQL, msg)
If flag = "Add" And rst.RecordCount > 0 Then
MsgBox ("該學(xué)號(hào)已經(jīng)存在,重復(fù)添加!")
rst.Close
CheckData = False
Exit Function
End If
CheckData = True '合法
End Function
Private Sub LoadData()
Dim strItem As String
'初始化學(xué)生ListBox
SQL = " select * from 學(xué)生基本信息表"
SQL = SQL & " where 班號(hào)='" & strClassNo & "' order by 學(xué)號(hào)"
Set rs = Nothing
Set rs = SelectSQL(SQL, msg)
ListStu.Clear
If rs.RecordCount > 0 Then
Do While (Not rs.EOF) And (Not rs.BOF)
strItem = rs.Fields(0) & " " & rs.Fields(1)
ListStu.AddItem (strItem)
rs.MoveNext
Loop
rs.MoveFirst
ListStu.ListIndex = 0
Else
MsgBox ("目前沒(méi)有學(xué)生信息!")
'控件可用性
CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = False
CmdCancel.Enabled = False: CmdSave.Enabled = False
Exit Sub
End If
'得到學(xué)生的基本信息
Call FixData
'控件可用性
CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True
CmdCancel.Enabled = False: CmdSave.Enabled = False
End Sub
Private Sub CmdAdd_Click()
'清空文本框,重新設(shè)置下拉框、日期控件
For Index = 0 To 8
txtItem(Index).Text = ""
txtItem(Index).Enabled = True
Next Index
For Index = 0 To 2
CboSelect(Index).ListIndex = 0
CboSelect(Index).Enabled = True
Next Index
For Index = 0 To 1
DTPicker1(Index).Refresh
DTPicker1(Index).Enabled = True
Next Index
ListStu.Enabled = False
txtItem(0).Text = strClassNo
txtItem(0).SetFocus
'設(shè)置標(biāo)志flag
flag = "Add"
'添加、修改、刪除按鈕不可用,取消、保存按鈕可用
CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
CmdCancel.Enabled = True: CmdSave.Enabled = True
End Sub
Private Sub CmdModify_Click()
'修改操作
If rs.RecordCount > 0 Then
'文本框可用,學(xué)號(hào)不可以修改
For Index = 1 To 8
txtItem(Index).Enabled = True
Next Index
txtItem(0).Enabled = False '學(xué)號(hào)控件不可用
ListStu.Enabled = False
For Index = 0 To 2
CboSelect(Index).Enabled = True
Next Index
For Index = 0 To 1
DTPicker1(0).Enabled = True
Next Index
'設(shè)置標(biāo)志flag
flag = "Modify"
'添加、修改、刪除按鈕不可用,取消、保存按鈕可用
CmdCancel.Enabled = True: CmdSave.Enabled = True
CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
Else
MsgBox ("沒(méi)有可以修改的數(shù)據(jù)!")
End If
End Sub
Private Sub CmdDelete_Click()
'刪除操作
On Error GoTo ErrMsg
If txtItem(0).Text = "" Then
MsgBox ("選擇需要?jiǎng)h除的學(xué)生!")
Exit Sub
End If
If rs.RecordCount > 0 Then
msg = MsgBox("刪除該條記錄嗎?", vbYesNo)
If msg = vbYes Then
rs.Delete
Call LoadData '重新裝載數(shù)據(jù)
'清空文本框,重新設(shè)置下拉框、日期控件
For Index = 1 To 8
txtItem(Index).Text = ""
txtItem(Index).Enabled = False
Next Index
For Index = 0 To 2
CboSelect(Index).ListIndex = 0
CboSelect(Index).Enabled = False
Next Index
For Index = 0 To 1
DTPicker1(Index).Refresh
DTPicker1(Index).Enabled = False
Next Index
'按鈕可用性處理
CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
MsgBox ("成功刪除的數(shù)據(jù)!")
End If
Else
MsgBox ("沒(méi)有可刪除的數(shù)據(jù)!")
End If
Exit Sub
ErrMsg:
MsgBox Err.Description, vbExclamation, "出錯(cuò)"
End Sub
Private Sub cmdCancel_Click()
'取消操作
Call FixData '設(shè)置數(shù)據(jù)
ListStu.Enabled = True
'修改、刪除、添加按鈕可用,保存和取消按鈕不可用
CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
End Sub
Private Sub setData()
rs.Fields("學(xué)號(hào)") = Trim(txtItem(0).Text)
rs.Fields("姓名") = Trim(txtItem(1).Text)
rs.Fields("班號(hào)") = Trim(strClassNo)
rs.Fields("入學(xué)日期") = Trim(DTPicker1(0).Value) '時(shí)間控件
rs.Fields("性別") = Trim(CboSelect(0).Text)
rs.Fields("出生日期") = Trim(DTPicker1(1).Value) '時(shí)間控件
rs.Fields("籍貫") = Trim(txtItem(2).Text)
rs.Fields("民族") = Trim(CboSelect(1).Text)
rs.Fields("身份證號(hào)") = Trim(txtItem(3).Text)
rs.Fields("政治面貌") = Trim(CboSelect(2).Text)
rs.Fields("電話") = Trim(txtItem(4).Text)
rs.Fields("住址") = Trim(txtItem(5).Text)
rs.Fields("郵箱") = Trim(txtItem(6).Text)
rs.Fields("教育背景") = Trim(txtItem(7).Text)
rs.Fields("備注") = Trim(txtItem(8).Text)
End Sub
Private Sub CmdSave_Click()
On Error GoTo ErrMsg
If Not CheckData Then Exit Sub '如果數(shù)據(jù)不合法就退出
If flag = "Modify" Then '如果是修改數(shù)據(jù)
msg = MsgBox("您確實(shí)要修改這條數(shù)據(jù)嗎?", vbYesNo)
If msg = vbYes Then
Call setData '賦值
Else
Exit Sub
End If
ElseIf flag = "Add" Then '如果是添加新數(shù)據(jù)
rs.AddNew
Call setData
End If
'更新數(shù)據(jù)
rs.Update
Call LoadData '重新裝載數(shù)據(jù)
'控件可用性
For Index = 0 To 8
txtItem(Index).Enabled = False
Next Index
For Index = 0 To 2
CboSelect(Index).ListIndex = 0
CboSelect(Index).Enabled = False
Next Index
For Index = 0 To 1
DTPicker1(Index).Refresh
DTPicker1(Index).Enabled = False
Next Index
ListStu.Enabled = True
CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
If flag = "Add" Then
'修改注冊(cè)信息表
SQL = "update 學(xué)生注冊(cè)信息表 set 學(xué)期1='" & Me.DTPicker1(0).Value & "' where 學(xué)號(hào)='"
SQL = SQL & txtItem(0).Text & "'"
Call ExecuteSQL(SQL, msg)
MsgBox ("成功添加數(shù)據(jù)!")
Else
MsgBox ("成功更新數(shù)據(jù)!")
End If
Exit Sub
ErrMsg:
MsgBox Err.Description, vbExclamation, "出錯(cuò)"
End Sub
Private Sub CmdExit_Click()
'退出操作
學(xué)生檔案管理.Enabled = True
rs.Close
B學(xué)生查詢.Enabled = True
Unload Me
End Sub
Private Sub Form_Load()
'初始化下拉框
CboSelect(0).AddItem "男"
CboSelect(0).AddItem "女"
CboSelect(0).ListIndex = 0
CboSelect(1).AddItem "漢族"
CboSelect(1).AddItem "回族"
CboSelect(1).AddItem "藏族"
CboSelect(1).AddItem "其他"
CboSelect(1).ListIndex = 0
CboSelect(2).AddItem "黨員"
CboSelect(2).AddItem "民主人士"
CboSelect(2).AddItem "團(tuán)員"
CboSelect(2).AddItem "群眾"
CboSelect(2).ListIndex = 0
'得到班號(hào)
strClassNo = B學(xué)生查詢.strQuery
FrameStuInfo.Caption = strClassNo & "班學(xué)生列表"
Call LoadData '裝載數(shù)據(jù)
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
學(xué)生檔案管理.Enabled = True
B學(xué)生查詢.Enabled = True
Unload Me
End Sub
Private Sub ListStu_Click()
Call FixData
End Sub
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -