?? frminfomanage.frm
字號:
Left = -74640
TabIndex = 38
Top = 2160
Width = 735
End
Begin VB.Label lblDate
Caption = "出生日期:"
Height = 255
Left = -74760
TabIndex = 37
Top = 3960
Width = 1095
End
Begin VB.Label lblNativePlace
Caption = "籍貫:"
Height = 255
Left = -74760
TabIndex = 36
Top = 4560
Width = 975
End
Begin VB.Label lblIDCard
Caption = "身份證號:"
Height = 375
Left = -74760
TabIndex = 35
Top = 1440
Width = 975
End
Begin VB.Label lblSchool
Caption = "所屬學校:"
Height = 255
Left = -71160
TabIndex = 34
Top = 840
Width = 975
End
Begin VB.Label lblAcademy
Caption = "所屬學院:"
Height = 255
Left = -71160
TabIndex = 33
Top = 1440
Width = 975
End
Begin VB.Label lblSpecialty
Caption = "所屬系別:"
Height = 255
Left = -71160
TabIndex = 32
Top = 2040
Width = 1095
End
Begin VB.Label lblGrade
Caption = "所屬年級:"
Height = 255
Left = -71160
TabIndex = 31
Top = 2640
Width = 975
End
Begin VB.Label lblClass
Caption = "所屬班級:"
Height = 255
Left = -71160
TabIndex = 30
Top = 3240
Width = 1095
End
Begin VB.Label lblSort
Caption = "學生類別:"
Height = 255
Left = -71160
TabIndex = 29
Top = 3960
Width = 975
End
End
Begin MSComDlg.CommonDialog dlgOpen
Left = 600
Top = 6840
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
End
Attribute VB_Name = "frmInfoInput"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'定義模塊級別的記錄集對象變量
Dim rsBaseInfo As ADODB.Recordset
Dim rsAddInfo As ADODB.Recordset
Dim rsStudInfo As ADODB.Recordset
'定義書簽變量,在數據庫記錄跳轉的時候,用以回復
Dim BaseBookMark As Variant
Dim AddBookMark As Variant
Dim InfoBookMark As Variant
'定義字符串常量,用來存放最初的查詢數據庫的SQL語句
Const strBaseSql = "select * from uStudBaseInfo"
Const strAddsql = "select * from uStudInfoAdd"
Const strStudInfo = "select * from v_StudInfo"
Dim strPath As String '圖片的路徑
Dim blnFind As Boolean '判斷是否可以執行查詢,添加狀態不可以執行查詢
'設置控件的Enabled屬性
'利用參數,設置用來輸入的控件的Enabled屬性
'其中,學號的輸入框永遠可用,因為還需要利用學號來進行
'記錄的查詢定位
Public Sub ChangeEnable(blnState As Boolean)
Dim strCboText As String
strCboText = Trim$(cboKind.Text)
txtNumber.Enabled = True 'blnState
txtIDCard.Enabled = blnState
txtName.Enabled = blnState
radioMale.Enabled = blnState
radioFemale.Enabled = blnState
mskEdDate.Enabled = blnState
txtSchool.Enabled = blnState
txtAcademy.Enabled = blnState
txtSpecialty.Enabled = blnState
txtGrade.Enabled = blnState
txtClass.Enabled = blnState
cboKind.Enabled = blnState
cboKind.Text = strCboText
txtNativePlace.Enabled = blnState
cmdLoadImage.Enabled = blnState
End Sub
'將數據窗體控件內容清零
'該過程主要在開始添加的時候使用,將所有的輸入框內容清空
Public Sub ClearData()
Dim strMask As String '用來存放MaskEdBox的Mask屬性文本
txtNumber.Text = vbNullString
txtIDCard.Text = vbNullString
txtName.Text = vbNullString
radioMale = False
radioFemale = False
'對MaskEdBox進行清空,需要三個步驟
'先清楚Mask屬性,再清空文本Text,然后再設置
'為原先的Mask屬性
'利用程序代碼取得Mask屬性比后面直接用手工輸入要安全
strMask = mskEdDate.Mask
mskEdDate.Mask = vbNullString
mskEdDate.Text = vbNullString
mskEdDate.Mask = strMask '"##/##/####"
txtSchool.Text = vbNullString
txtAcademy.Text = vbNullString
txtSpecialty.Text = vbNullString
txtGrade.Text = vbNullString
txtClass.Text = vbNullString
cboKind.Text = vbNullString
txtNativePlace.Text = vbNullString
'清空圖片框控件中的圖片
picPhoto.Picture = LoadPicture("")
txtNumber.SetFocus
End Sub
Public Sub ShowData(ByVal rsBase As ADODB.Recordset, ByVal rsAdd As ADODB.Recordset)
'功 能:顯示數據庫記錄到窗體控件上
'參 數:
' 輸入:rsBase ADODB.Recordset 基本信息庫記錄集
' rsAdd ADODB.Recordset 附加信息庫記錄集
If Not (rsBase.EOF And rsBase.BOF) Then
txtNumber.Text = rsBase("學號")
txtIDCard.Text = rsBase("身份證號")
txtName.Text = rsBase("姓名")
If Trim$(rsBase("性別")) = "男" Then
radioMale = True
Else
radioFemale = True
End If
mskEdDate.Text = rsBase("出生日期")
txtSchool.Text = rsBase("所屬學校")
'利用IIF語句來判斷,如果數據庫的有Null記錄,則用空字符串代替
txtAcademy.Text = IIf(IsNull(rsBase("所屬學院")), _
vbNullString, rsBase("所屬學院"))
txtSpecialty.Text = IIf(IsNull(rsBase("所屬系別")), _
vbNullString, rsBase("所屬系別"))
txtGrade.Text = IIf(IsNull(rsBase("所屬年級")), _
vbNullString, rsBase("所屬年級"))
txtClass.Text = rsBase("所屬班級")
cboKind.Text = Trim$(rsBase("學生類別"))
txtNativePlace.Text = rsBase("籍貫")
'為圖片框控件設置數據源
Set picPhoto.DataSource = rsAdd
picPhoto.DataField = "照片"
End If
End Sub
Private Sub cmdAddData_Click()
On Error GoTo err
'利用RecordSet的AddNew方法,為數據庫增加一個空記錄
rsBaseInfo.AddNew
rsAddInfo.AddNew
'將錄入的數據信息分別寫入該新記錄中去
rsBaseInfo("學號") = Trim$(txtNumber.Text)
rsBaseInfo("身份證號") = Trim$(txtIDCard.Text)
rsBaseInfo("姓名") = Trim$(txtName.Text)
'處理選擇性別的單選按鈕
If radioMale = True Then
rsBaseInfo("性別") = Trim$(radioMale.Caption)
Else
rsBaseInfo("性別") = Trim$(radioFemale.Caption)
End If
'將出生日期轉換為日期格式存入數據庫
rsBaseInfo("出生日期") = CDate(mskEdDate.Text)
rsBaseInfo("所屬學校") = Trim$(txtSchool.Text)
rsBaseInfo("所屬學院") = Trim$(txtAcademy.Text)
rsBaseInfo("所屬系別") = Trim$(txtSpecialty.Text)
rsBaseInfo("所屬年級") = Trim$(txtGrade.Text)
rsBaseInfo("所屬班級") = Trim$(txtClass.Text)
rsBaseInfo("學生類別") = Trim$(cboKind.Text)
rsBaseInfo("籍貫") = Trim$(txtNativePlace.Text)
'寫入附加信息數據庫表
rsAddInfo("學號") = Trim$(txtNumber.Text)
'如果有圖片文件存在,則將其添加到數據庫中去
'此處調用了StartModule中聲明的過程來完成存儲圖片到數據庫的功能
If strPath <> vbNullString Then
Call newSaveToDB(rsAddInfo("照片"), strPath)
End If
'執行更新操作,將錄入的信息正式寫入數據庫
rsBaseInfo.Update
rsAddInfo.Update
Exit Sub
err:
'產生錯誤,則取消添加數據的操作
MsgBox err.Number & " " & err.Description
rsBaseInfo.CancelUpdate
rsAddInfo.CancelUpdate
End Sub
Private Sub cmdCancelOperate_Click()
On Error GoTo err
rsBaseInfo.CancelUpdate
rsAddInfo.CancelUpdate
Exit Sub
err:
Exit Sub
End Sub
Private Sub cmdChangeData_Click()
'如果需要修改某條記錄,那么就回到錄入界面
sstabInfo.Tab = 0
End Sub
Private Sub cmdDeleteData_Click()
Dim iMsg As Integer
On Error GoTo err
'如果記錄集非空,則可以刪除記錄
If Not (rsBaseInfo.BOF And rsBaseInfo.EOF) Then
'確認是否刪除記錄
iMsg = MsgBox("確實要刪除該記錄嗎?", vbYesNo)
If iMsg = vbYes Then
'可以刪除,則正式向數據庫中刪除記錄
rsBaseInfo.Delete 'adAffectCurrent
rsAddInfo.Delete 'adAffectCurrent
rsBaseInfo.Update
rsAddInfo.Update
'下面的語句很重要,用來刷新記錄集
'使得數據能夠正確的顯示
rsBaseInfo.Requery
rsAddInfo.Requery
Else
Exit Sub
End If
If rsBaseInfo.EOF Then
MsgBox "已到記錄尾部!"
rsBaseInfo.MoveLast
rsAddInfo.MoveLast
End If
'顯示數據
Call ShowData(rsBaseInfo, rsAddInfo)
End If
Exit Sub
err:
MsgBox err.Number & " " & err.Description
End Sub
Private Sub cmdEndChange_Click()
'設置錄入控件為不可用
Call ChangeEnable(False)
'開啟利用"學號"文本框進行查詢的功能
blnFind = True
End Sub
Private Sub cmdFirst_Click()
rsBaseInfo.MoveFirst
rsAddInfo.MoveFirst
BaseBookMark = rsBaseInfo.Bookmark
AddBookMark = rsAddInfo.Bookmark
Call ShowData(rsBaseInfo, rsAddInfo)
End Sub
Private Sub cmdLast_Click()
rsBaseInfo.MoveLast
rsAddInfo.MoveLast
BaseBookMark = rsBaseInfo.Bookmark
AddBookMark = rsAddInfo.Bookmark
Call ShowData(rsBaseInfo, rsAddInfo)
End Sub
Private Sub cmdLoadImage_Click()
With dlgOpen
'為COmmonDIalog控件設置文件過濾文本
'注意其格式
.Filter = "Bmp(*.bmp)|*.bmp|All Image|*.bmp;*.jpg;*.gif|All(*.*)|*.*"
'以打開的方式顯示對話框
.ShowOpen
'獲取選中的文件的完整路徑
strPath = .FileName
End With
'將picPhoto的Picture屬性設置為該圖片
picPhoto.Picture = LoadPicture(strPath)
End Sub
Private Sub cmdModifyData_Click()
On Error GoTo err
'將錄入的數據信息分別寫入當前記錄中去
rsBaseInfo("學號") = Trim$(txtNumber.Text)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -