機房收費系統之學生基本資訊維護 修改資訊
阿新 • • 發佈:2019-02-07
1.介紹修改資訊功能
為什麼有修改功能?這個功能如何操作的?如何才能修改?
修改功能不難發現在組合查詢中只有學生基本資訊維護上有這個功能,為了更好的維護學生的資訊查出來後可以方便的進行更改提高效率!所以才有了這個功能!
2.接下來給大家介紹是如何操作的
一、查詢到需要條件的資訊
二、選中MSHFLexGrid控制元件上的資訊
三、點選修改
四、在彈出的修改學生資訊上進行所需要的資訊進行修改!
五、修改結果
3.如何才能修改及功能實現
一、更多的是在MSHFLexGrid控制元件上,我們需要選中“行”進行這一行資訊的修改,所有在選中資訊上下功夫想辦法選中它
方法一:新增程式碼
MSHFlexGrid1.SelectionMode = flexSelectionByRow '單擊時選擇整行
MSHFlexGrid1.FocusRect = flexFocusNone '在當前但願的周圍畫一個焦點框
MSHFlexGrid1.HighLight = flexHighlightWithFocus '該值決定了所選定的單元是否突出顯示
方法二:設定屬性
右擊MSHFLexGrid控制元件點選屬性
兩者選其一,都可以在選中自己想選的某一行進行跳轉修改。
不必擔心會出現多選狀況的發生,最後滑鼠停留的地方就是預設需要修改的資訊。
二、設定全域性變數
Public TmpCardno As String 'TmpCardno我稱它為“臨時卡號”,是您選擇的那行資料的第0列的值
Public tmpLoad As String 'tmpLoad是在“修改資訊窗體”新增的子過程
三、定義滑鼠的選擇事件
Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) Dim Tmpselect As Boolean Tmpselect = True End Sub
四、點選修改控制元件程式碼
Private Sub cmdModify_Click()
TmpCardno = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 0) '選擇一行資料
frmEditStuInfo.txtSID = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 1)
frmEditStuInfo.txtClass = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 7)
frmEditStuInfo.txtName = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 2)
frmEditStuInfo.txtCardNo = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 0)
frmEditStuInfo.comboSex = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 3)
frmEditStuInfo.txtMoney = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 8)
frmEditStuInfo.txtDept = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 5)
frmEditStuInfo.txtExplain = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 10)
frmEditStuInfo.txtGrade = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 6)
frmEditStuInfo.comboType = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 4)
frmEditStuInfo.txtState = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 9)
frmEditStuInfo.Show '顯示修改資訊窗體 '顯示修改資訊窗體
MsgBox "請先選擇資料,再進行修改!", , "溫馨提示"
Exit Sub
End Sub
其中修改程式碼在沒有選擇資料時需要有個判斷我沒有做!留給大家想象空間!
五、修改資訊窗體程式碼
Private Sub cmdModifySure_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrc As ADODB.Recordset '定義資料集物件
txtSQL = "select * from student_Info where cardno='" & Trim(TmpCardno) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not (mrc.BOF Or mrc.EOF) Then
mrc.Fields(0) = Trim(txtCardNo.Text)
mrc.Fields(1) = Trim(txtSID.Text)
mrc.Fields(2) = Trim(txtName.Text)
mrc.Fields(3) = Trim(comboSex.Text)
mrc.Fields(4) = Trim(txtDept.Text)
mrc.Fields(5) = Trim(txtGrade.Text)
mrc.Fields(6) = Trim(txtClass.Text)
mrc.Fields(7) = Trim(txtMoney.Text)
mrc.Fields(8) = Trim(txtExplain.Text)
mrc.Fields(10) = Trim(txtState.Text)
mrc.Fields(14) = Trim(comboType.Text)
mrc.Update
mrc.Close
End If
Me.Hide
'修改資訊後,重新載入到基本資訊維護窗體的查詢結果中
End Sub
Public Sub tmpLoad()
Dim txtSQL As String
Dim MsgText As String
Dim mrc As ADODB.Recordset
txtSQL = "select * from student_Info where cardno='" & Trim(TmpCardno) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF Then
MsgBox "載入資訊不存在,請確認後重新操作!", , "溫馨提示"
Else
txtSID.Text = mrc!studentNo
txtName.Text = mrc!studentName
comboSex.Text = mrc!sex
txtDept.Text = mrc!department
txtGrade.Text = mrc!grade
txtClass.Text = mrc!Class
txtCardNo.Text = mrc!cardno
txtMoney.Text = mrc!cash
txtState.Text = mrc!Status
txtExplain.Text = mrc!explain
comboType.Text = mrc!Type
mrc.Close
End If
End Sub