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