您的位置:首页 > 其它

【机房收费系统】---修改信息

2018-01-01 13:35 190 查看

一、前言

在项目验收的前一天晚上,我发现了一个宝贝。而且我还发现,居然有很多小伙伴没有注意到这个“修改”按钮!!!

二、功能

个人觉得它的功能很厉害:在“操作员工作记录”中查询到符合条件的数据后,如果想要对其进行相应的修改,就用到了“修改”这个功能。
它是这样工作滴:
1)在查询结果中选择一行数据,点击修改按钮;
2)被选择的信息赋值到修改窗体中,可以进行相应修改;
3)修改完成后,新的数据还要更新到查询结果中。
这就完成了修改。
”见字如面“:
1)选择:



2)修改:



3)点击“确定修改”后:



三、实现过程

我们一共只需要做四件事儿。

1.在查询结果中可以选中一行数据
代码:

MSHFlexGrid1.SelectionMode = flexSelectionByRow      '单击时选择整行
MSHFlexGrid1.FocusRect = flexFocusNone                '在当前但愿的周围画一个焦点框
MSHFlexGrid1.HighLight = flexHighlightWithFocus       '该值决定了所选定的单元是否突出显示


2.定义一个MSHFlexGrid1控件的鼠标选择事件

Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)

tmpselect = True

End Sub

3.在“修改”按钮中添加提示代码

Private Sub cmdEdit_Click()

Dim tmpselect As Boolean

'选择了数据才进行修改
If tmpselect = True Then
TmpCardno = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 0)        '选择一行数据
frmmodifysinfo.Show                                                '显示修改信息窗体                                                               '显示修改信息窗体
Else
MsgBox "请先选择数据,再进行修改!", , "温馨提示"
Exit Sub
End If

End Sub

4.在模块中定义2个全局变量

Public TmpCardno As String              'TmpCardno我称它为“临时卡号”,是您选择的那行数据的第0列的值
Public tmpLoad As String                'tmpLoad是在“修改信息窗体”添加的子过程
:子过程怎么添加?答:“工具”----“添加过程”----命名、“添加子过程”)

子过程代码:

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
txtStudentno.Text = mrc!studentNo
txtName.Text = mrc!studentName
comboSex.Text = mrc!sex
txtDepartment.Text = mrc!department
txtGrade.Text = mrc!grade
txtClass.Text = mrc!Class
txtCardno.Text = mrc!cardno
txtCash.Text = mrc!cash
txtStatus.Text = mrc!Status
txtExplain.Text = mrc!explain
comboType.Text = mrc!Type
mrc.Close
End If

End Sub

”确认修改“:

Private Sub cmdOK_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(txtStudentno.Text)
mrc.Fields(2) = Trim(txtName.Text)
mrc.Fields(3) = Trim(comboSex.Text)
mrc.Fields(4) = Trim(txtDepartment.Text)
mrc.Fields(5) = Trim(txtGrade.Text)
mrc.Fields(6) = Trim(txtClass.Text)
mrc.Fields(7) = Trim(txtCash.Text)
mrc.Fields(8) = Trim(txtExplain.Text)
mrc.Fields(10) = Trim(txtStatus.Text)
mrc.Fields(14) = Trim(comboType.Text)
mrc.Update
mrc.Close
End If
Me.Hide
'修改信息后,重新加载到基本信息维护窗体的查询结果中
frmbasicinformationmaintenance.cmdInquire.Value = True

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: