Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

有高手能帮我解答一下主窗怎么控制子窗口的数据呢?谢谢!

lsc168168  发表于:2013-04-25 22:42:12  
复制


Private mblnAfterUpdate As Boolean  '是否已经触发了更新后事件标志

Private Sub Combo0_BeforeUpdate(Cancel As Integer)

End Sub

Private Sub Combo0_Change()
    If mblnAfterUpdate Then
        '如果是在“更新后”事件之后触发的“更改”事件,需要加载所有数据,以确保能正常显示,
        '否则当绑定列和显示的列不是同一字段的时候,会造成实际是有值的,但是显示的是空的
        Me.Combo0.RowSource = "  SELECT MSysObjects.id, MSysObjects.name FROM MSysObjects  WHERE TYPE=1 AND FLAGS=0 ORDER BY name"
        mblnAfterUpdate = False '然后再恢复标志变量
    Else
        '正常输入触发“更新后”事件时,根据当前输入的文字,对其进行模糊查询
        '这里要注意3点:
        '1. 需要用Text属性才能正确取得输入的文字内容,因为这时值还未更新,所以不能使用Value属性
        '2.
        Me.Combo0.RowSource = " SELECT MSysObjects.id, MSysObjects.name FROM MSysObjects " _
                                  & " WHERE name  Like '*" & Trim(Replace(Me.Combo0.Text, "'", "''")) & "*'" _
                                  & " OR HZPY(name) Like '*" & HZPY(Trim(Replace(Me.Combo0.Text, "'", "''"))) & "*'" _
                                  & " ORDER BY name"
        Me.Combo0.Dropdown
    End If
End Sub

'这里的“获得焦点”事件不是必需的,但是在某些情况下不用它,会造成有值但显示为空的情况
Private Sub Combo0_GotFocus()
     Me.Combo0.RowSource = " SELECT MSysObjects.id, MSysObjects.name FROM MSysObjects"
End Sub

Private Sub Combo0_AfterUpdate()
    '因为“更新后”事件触发之后,还会触发“更改”事件的原因,造成更新后又会进行模糊查询,
    mblnAfterUpdate = True
End Sub

'在按上、下箭头键时禁用查询功能,因为这个时候我们需要的是在列表中选择列表项
Private Sub Combo0_KeyDown(KeyCode As Integer, Shift As Integer)
    EnabledComboSearch Me.Combo0, KeyCode, Shift
End Sub

 

 

我已经写好了一个查询表名的代码,但怎么设置,当我选中一个表名后,自动在子窗口,弹出它对应的表的数据(如下图)

 

 

Top
lsc168168 发表于:2013-04-26 09:45:04

有人会吗?



cspa 发表于:2013-04-26 10:53:59

1、用你做好的调光器表做为数据源建立一个窗体

2、在主窗体文本选择框选中某一调光器时,让子窗体的数据源指定为建立好的窗体。



lsc168168 发表于:2013-04-26 11:21:55

俺是新手,能说下具体操作吗?能教下怎么作为数据源建立一个窗体吗?



落尘_小新 发表于:2013-04-26 13:02:39
lsc168168 发表于:2013-04-27 11:42:17

太感谢了!!

 



lsc168168 发表于:2013-04-27 23:47:58
我那个窗体中,那下拉框,怎么才能加上模糊查询呢?我按照网上的用SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name 这句话放在我的Private Sub 中,但出现报错,不知道什么原因,谢谢了~


总记录:6篇  页次:1/1 9 1 :