我用的VB程序设计,窗口中有一MSHFlexGrid1控件,其中存放c:\放射科报告数据.mdb数据文件的内容(其中共有5列:照片号\姓名\性别\年龄\诊断意见),想实现:双击MSHFlexGrid1控件中的一行,在新窗口中的五个文本框中显示对应数据内容.
-----------------------------
问你用的是什么控件连接数据库,如是Adodc的话,如下是可以的,我都用的是这种方法,即绑定方法;这个代码一般放在窗体加载form_load即可,希望满足你的要求。
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\通讯录.mdb;Persist Security Info=False" '将数据库路径更改成你的数据库路径
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * from Information" '数据表名称
Set MSHFlexGrid1.DataSource = Adodc1 ‘绑定到数据库中
Set Text1.DataSource = Adodc1
Set Text2.DataSource = Adodc1
Set Text3.DataSource = Adodc1
Set Text4.DataSource = Adodc1
Set Text5.DataSource = Adodc1
Text1.DataField = "照片号" '将字段值赋给给对应的文本框
Text2.DataField = "姓名"
Text3.DataField = "性别"
Text4.DataField = "年龄"
Text5.DataField = "诊断意见"
Private Sub MSFlexGrid1_DblClick()
Dim r As Long
With Me.MSFlexGrid1
r = .MouseRow
If r >= .FixedRows And r < .Rows Then
'.TextMatrix (r, c) 是单元格的内容 ,r是行,c 是列,自己写会了吧
End If
End With
End Sub
非常感谢,我是按你的方法如下编写的:
Private Sub MSHFlexGrid1_DblClick()
Dim r As Long
With Me.MSFlexGrid1
r = .MouseRow
If r >= .FixedRows And r < .Rows Then
Text42.Text = MSHFlexGrid1.TextMatrix(r, 照片号)
End If
End With
End Sub
但出现如下问题:
联系客服