Private Sub Form_Load()
Dim db2 As ADODB.Connection
Set db2 = New ADODB.Connection
db2.CursorLocation = adUseClient
db2.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" & wjy
Set adoPrimaryRS10 = New ADODB.Recordset
adoPrimaryRS10.Open "SHAPE {select 项目特证,特证值,join from 项目特证} AS ParentCMD APPEND ({select join,特证值,id from 特证值 } AS ChildCMD2 RELATE join TO join) AS ChildCMD2", db2, adOpenStatic, adLockOptimistic
mbDataChanged = False
Set rw1 = CreateWorkspace("", "admin", "")
'打开数据库
Set rs1 = rw1.OpenDatabase(wjy)
'创建结果集
Set rc1 = rs1.OpenRecordset("select * from 特证值")
End sub
Private Sub DataGrid9_AfterColUpdate(ByVal ColIndex As Integer)
DataGrid9.Columns(1).Value = Combo7.DataField
End Sub
Private Sub DataGrid9_Click()
Combo7.Visible = False
rc1.MoveFirst
Do
If DataGrid9.Col = 1 Then ' Position and size the ComboBox, then show it.
If adoPrimaryRS10!Join = rc1!Join Then DataGrid9.Columns(1).Button = True: Combo7.Visible = True
Combo7.Width = DataGrid9.Columns(DataGrid9.Col).Width + 50
Combo7.Left = DataGrid9.Left + DataGrid9.Columns(DataGrid9.Col).Left
Combo7.Top = DataGrid9.Top + DataGrid9.Row * (DataGrid9.RowHeight) + (DataGrid9.HeadLines) * 195
Combo7.SetFocus
If DataGrid9.Columns(DataGrid9.Col).Text <> "" Then Combo7.Text = DataGrid9.Columns(DataGrid9.Col).Text
End If
rc1.MoveNext
Loop Until rc1.EOF = True
End Sub
Private Sub DataGrid9_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
i = 0
With adoPrimaryRS10
Combo7.Text = ""
'把"培训内容"添入列表框
Combo7.Clear
rc1.MoveFirst
Do
If rc1!特证值 = Null Then GoTo 10
If !Join = rc1!Join Then
MC = rc1!特证值
Combo7.AddItem MC, i
Combo7.Visible = True
End If
10 rc1.MoveNext
i = i + 1
Loop Until rc1.EOF = True
End With
End Sub
Private Sub Combo7_Click()
If DataGrid9.Col = 1 Then
DataGrid9.Columns(1).Value = Combo7.Text
Combo7.Visible = False
End If
End Sub
以上是我的参阅了各种参考编出的程序,在DATAGRID中能显示COMBO的显示选项,我的想法是adoPrimaryRS10的“特证值”在数据中用关键字(JOIN)控制COMBO的显示,在数据库中“特证值”是有的有,有的没有,现在是没有的也显示了COMBO。请各位精英帮助解决。
Dim db2 As ADODB.Connection
Set db2 = New ADODB.Connection
db2.CursorLocation = adUseClient
db2.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" & wjy
Set adoPrimaryRS10 = New ADODB.Recordset
adoPrimaryRS10.Open "SHAPE {select 项目特证,特证值,join from 项目特证} AS ParentCMD APPEND ({select join,特证值,id from 特证值 } AS ChildCMD2 RELATE join TO join) AS ChildCMD2", db2, adOpenStatic, adLockOptimistic
mbDataChanged = False
Set rw1 = CreateWorkspace("", "admin", "")
'打开数据库
Set rs1 = rw1.OpenDatabase(wjy)
'创建结果集
Set rc1 = rs1.OpenRecordset("select * from 特证值")
End sub
Private Sub DataGrid9_AfterColUpdate(ByVal ColIndex As Integer)
DataGrid9.Columns(1).Value = Combo7.DataField
End Sub
Private Sub DataGrid9_Click()
Combo7.Visible = False
rc1.MoveFirst
Do
If DataGrid9.Col = 1 Then ' Position and size the ComboBox, then show it.
If adoPrimaryRS10!Join = rc1!Join Then DataGrid9.Columns(1).Button = True: Combo7.Visible = True
Combo7.Width = DataGrid9.Columns(DataGrid9.Col).Width + 50
Combo7.Left = DataGrid9.Left + DataGrid9.Columns(DataGrid9.Col).Left
Combo7.Top = DataGrid9.Top + DataGrid9.Row * (DataGrid9.RowHeight) + (DataGrid9.HeadLines) * 195
Combo7.SetFocus
If DataGrid9.Columns(DataGrid9.Col).Text <> "" Then Combo7.Text = DataGrid9.Columns(DataGrid9.Col).Text
End If
rc1.MoveNext
Loop Until rc1.EOF = True
End Sub
Private Sub DataGrid9_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
i = 0
With adoPrimaryRS10
Combo7.Text = ""
'把"培训内容"添入列表框
Combo7.Clear
rc1.MoveFirst
Do
If rc1!特证值 = Null Then GoTo 10
If !Join = rc1!Join Then
MC = rc1!特证值
Combo7.AddItem MC, i
Combo7.Visible = True
End If
10 rc1.MoveNext
i = i + 1
Loop Until rc1.EOF = True
End With
End Sub
Private Sub Combo7_Click()
If DataGrid9.Col = 1 Then
DataGrid9.Columns(1).Value = Combo7.Text
Combo7.Visible = False
End If
End Sub
以上是我的参阅了各种参考编出的程序,在DATAGRID中能显示COMBO的显示选项,我的想法是adoPrimaryRS10的“特证值”在数据中用关键字(JOIN)控制COMBO的显示,在数据库中“特证值”是有的有,有的没有,现在是没有的也显示了COMBO。请各位精英帮助解决。
解决方案 »
- 换个头像,散分。
- vb编写的程序长时间运行无响应
- 怎样提取学生的成绩?如图
- msn登陆邮件的验证问题 如何实现
- 当我鼠标点MSHFlexGrid控件某列时,如何获取当前点选的是第几列
- 如果你有女友,千万别教她编程,这就是我的下场(教个TEXT的用法用了一小时)
- 求Combo1控件得用法
- 请问如何用controls 给另一个窗口的textbox赋值?
- 急啊!怎样让我的image支持*.tif,*.psd 啊,还有怎样显gif动画啊,我的动不了。倾情送分!
- 原代码收到并正确就马上给分!比较简单的~
- 关于treeview控件的用法
- 如何实现在容器(Picture上),按住CTRL 实现容器上控件的多选
颜色有点晃眼.....
换个背景色吧。