设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1574|回复: 5
打印 上一主题 下一主题

[与其它组件] 引用控件时!和.的区别是什么?

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-5 23:51:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如   me!产品id  和 me.产品id    有何区别.

另外我想引用控件本身而不是控件所容纳的内容怎么办?例:

Private Sub 产品ID_BeforeUpdate(Cancel As Integer)
    Call confirmupdate(Me!产品ID)
End Sub

Private Sub confirmupdate(x As Control)
    Dim i As Integer
    i = MsgBox("记录已被修改,确认要修改该条记录吗?", vbOKCancel)
    If i = 1 Then
        Exit Sub
    ElseIf i = 2 Then
        Me!x.Undo
        Cancel = True
    End If
End Sub


错误提示停在Me!x.undo这一行, x中显示的是文本框里的内容而不是文本框本身.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2007-1-6 18:11:00 | 只看该作者
怎么没人帮忙啊
3#
发表于 2007-1-6 18:15:00 | 只看该作者
没什么区别。一个是引用内置的,一个是引用你自己加的东西。



adp里好象有点区别。

[此贴子已经被作者于2007-1-6 10:16:16编辑过]

4#
发表于 2007-1-6 22:53:00 | 只看该作者
在Visual Basic中,惊叹号“!”与圆点“.”都用于给对象命名,但两者语法上却存在很大的区别,这点在编程时尤其需要注意。   
圆点操作符“.”用来表示对象的属性和方法,在引用时,需要用到对象的Name、圆点和需要的属性或方法。例如要引用文本框Textl中的文本属性时可用reponse$=Text1.Text,再如要改变Form1窗体返回或读取对象高度的单位时用Form1.ScaleHeigh=2000表示。   
感叹号“!”常用于当一个控件作为一个特性访问的情况下,例如引用Fomr2中Text1文本框文本属性时,可采用response$=Form2!text1.text语法格式。   
虽然两者的语法应用结构有较大差异,但两条语句的性能是相同的,值得注意的是如果你在感叹号“!”的位置使用“.”可以获得对窗体上Text1特性的直接访问权,为了进一步增加感性认识,你不妨运行下面的例子来试试。   
1、建立一个新项目,并在Form1窗体中增加一个命令控件。   
2、双击Form1窗体,编辑FormLoad事件并输入:   
Form1!Command1.Caption="Text"
Form1.Command1.Caption="It   Works"
3、运行试项目,这时你就会在Command1命令框中看到字符串It   Works。   
了在程序中清楚地界定引用的控件名和该控件的属性或方法,增加程序的可读性,最好使用感叹号“!”   


                 ----------转载自access911
5#
发表于 2007-1-6 23:52:00 | 只看该作者
供楼主参考:

Function confirmupdate() As Integer
    If MsgBox("记录已被修改,确认要修改该条记录吗?", vbOKCancel) = vbOK Then
        confirmupdate = False
    Else
        confirmupdate = True
    End If
End Function

Private Sub 产品ID_BeforeUpdate(Cancel As Integer)
    If confirmupdate() Then
        Cancel = True
        Me.产品ID.Undo
    End If
End Sub


4楼的例子有误,且说明不了问题!一是两个语句前都要加上“Forms!”才对呀!二是,Command1控件显示“It Works”原因是第二句修改了第一句的Command1的Caption属性。如果把这句代码先后换一下,Command1的Capion显示为“Text”了。

[此贴子已经被作者于2007-1-6 16:27:40编辑过]

6#
 楼主| 发表于 2007-1-7 04:27:00 | 只看该作者
都是高人啊,谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-9 04:28 , Processed in 0.110395 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表