Access交流中心

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

组合框更新事件

丁丁  发表于:2008-09-20 11:09:28  
复制

窗体FORM1,有一个文本框TEXT1和一个组合框COMBO2.当TEXT1发生改变时:

Private Sub TEXT1_AfterUpdate()
    Me.COMDO2.Requery
    Me.COMDO2 = ""
    Me.COMDO2 = Me.COMDO2.ItemData(0)
 End Sub

此时,ME.COMDO2的值已经发生改变,怎么就不运行以下程序过程:

Private Sub COMDO2_AfterUpdate()
  ......

End Sub

只有在组合框中重新选择一道,才能运行以上程序?怎么解决?

 

Top
钱玉炜 发表于:2008-09-20 11:29:48

AfterUpdate 事件在控件中的数据被改变或记录被更新之后发生。



丁丁 发表于:2008-09-20 11:38:15

是呀!当TEXT1发生改变时,COMBO2的数据,通过"Me.COMDO2 = Me.COMDO2.ItemData(0)"就发生了改变,怎么就不能引发"Private Sub COMDO2_AfterUpdate()"事件?



pc高手 发表于:2008-09-20 12:25:20

Private Sub TEXT1_AfterUpdate()
Private Sub COMDO2_AfterUpdate()

 

当然呀!  这是两个不同的 afterupdate ,  text1 的数据更改后, comdo2 自己不会去执行。

 

解决方法:

 

Private Sub TEXT1_AfterUpdate()
    Me.COMDO2.Requery
    Me.COMDO2 = ""
    Me.COMDO2 = Me.COMDO2.ItemData(0)

    Call COMDO2_AfterUpdate()         '''' 增加这个句子就行了, 两个update 连续运行。

End Sub

 



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