| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 396 人关注过本帖
标题:Combox控件的下拉菜单从MshFlexGrig 控件的某一列取值
只看楼主 加入收藏
梦千殇
Rank: 2
等 级:论坛游民
帖 子:49
专家分:19
注 册:2015-1-6
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:1 
Combox控件的下拉菜单从MshFlexGrig 控件的某一列取值
我想通过Combox控件对MshFlexGrig 控件中所显示内容实现多级查询功能,及MshFlexGrig 控件所显示内容的每一列都对应一个Combox控件,并且Combox控件的下拉菜单显示的内容为MshFlexGrig 控件某一列的内容
图片附件: 游客没有浏览图片的权限,请 登录注册
如图所示,本图显示的只有一个查询,我先实现对MshFlexGrig 控件每一列的查询。如图所示:第一级查询:对试件名称按照“拖车转向架”查询完之后,MshFlexGrig 控件中显示的所有内容是与“拖车转向架”相关的内容;第二级查询时:是在第一级“拖车转向架”有关的内容上查询“试验日期”,然后经过两次查询,MshFlexGrig 控件中显示的内容则由两次查询的“拖车转向架”和“试验日期”所决定的内容。
不知道代码该怎么写,求大神指教,谢谢了!!!
搜索更多相关主题的帖子: 如图所示 
2015-04-14 14:58
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:20 
程序代码:
Option Explicit

Dim conn As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset

Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Dim strSQL As String
Dim remark As String

Private Sub Combo1_Click()
strSQL = "select *  from 表1 where 备注=" & "'" & Combo1.Text & "'"
rs2.Open strSQL, conn, 1, 1
Set MSHFlexGrid1.DataSource = rs2
rs2.Close
End Sub

Private Sub Combo2_Click()
strSQL = "select * from 表1 where 备注=" & "'" & Combo1.Text & "' and 数量=" & "'" & Combo2.Text & "'"

rs2.Open strSQL, conn, 1, 1
Set MSHFlexGrid1.DataSource = rs2
rs2.Close
End Sub

Private Sub Form_Load()
Dim i As Long
Dim exist1 As Boolean
Dim exist2 As Boolean

Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=c:\test.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from 表1 "
rs1.Open strSQL, conn, 1, 1
Set MSHFlexGrid1.DataSource = rs1

Me.Show
Do While Not rs1.EOF
  exist1 = False
  exist2 = False
  For i = 0 To rs1.RecordCount
    If (rs1("备注") = Combo1.List(i)) Then exist1 = True: Exit For
  Next
  If exist1 = False Then Combo1.AddItem rs1("备注")

 
  For i = 0 To rs1.RecordCount
    If (rs1("数量") = Combo2.List(i)) Then exist2 = True: Exit For
  Next
  If exist2 = False Then Combo2.AddItem rs1("数量")

 
  rs1.MoveNext
Loop

Combo1.Text = "Please select"
Combo2.Text = "Please select"
End Sub
按你情况修改以上代码并添加相关释放、关闭语句,试试。
也可以建临时表查询select * into 临时表 from 表名
然后再select * from 临时表 where ...
最后drop table 临时表。

大开眼界
2015-04-15 14:48
快速回复:Combox控件的下拉菜单从MshFlexGrig 控件的某一列取值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038598 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved