在机房收费系统VB版的学习过程中,有一个学生基本信息维护,在MSFlexGrid1控件中选中一行的值并在修改学生信息的窗体中进行修改。这个功能困惑了自己一段时间,现在终于解决了,分享给大家。
Private Sub MSFlexGrid1_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) n = Trim(MSFlexGrid1.Row) If n = 0 Then '不能选择字段行,也就是第0行 n = 1 End If End Sub
注释:用MouseDown 事件把MSFlexGrid1(以下简称MSF)控件的行号付给n。n是在公共模块里定义的一个公共整型变量。
接下来在修改学生信息窗体的Load事件中
Str1 = Trim(studentInfo.MSFlexGrid1.TextMatrix(n,0)) '将卡号赋值给str1
txtsql = "select * from student_info where cardno ='" & Str1 & "'" _
& " and status ='使用'"
Set mrc = Executesql(txtsql,msgText)
技术要点就是利用MouseDown来判断你点击了MSF控件,用n值来传递行号,就可以在窗体间传递信息了。