【Access示例】#If…#Else…#End If代码的意思-will.miao
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【Access示例】#If…#Else…#End If代码的意思

发表时间:2017/2/20 9:24:59 评论(0) 浏览(10342)  评论 | 加入收藏 | 复制
   
摘 要:有爱好者在代码里看到了#IF…#End IF这样的代码,只知道IF…End IF这样的代码,不太理解是加个“#”号是什么意思。
正 文:

爱好者看到如下代码,不知道#IF是什么意思,为什么要在IF前面加个"#":

#If Win64 Then
    strLib = CurrentProject.Path & "\RDPLib.x64.ucl"
#Else
    strLib = CurrentProject.Path & "\RDPLib.x86.ucl"
#End If

查看一下帮助文件是这样说的:

#If...Then...#Else 指令的作用与 If...Then...Else 语句相同,其差异在于 #If、#Else、#ElseIf,及 #End If 指令没有单独成行的形式,也就是说,在指令所在的那一行,不能有其他代码出现。条件编译通常用来编译不同平台上的同一个程序。也可以用来避免调试程序代码出现在可执行程序中。条件编译时被排除的程序代码在最后的可执行文件中被完全略去,所以不会对程序的大小或功能有任何影响。
无论结果如何,都要计算所有表达式。所以,在表达式中用到的所有常数都必须加以定义— 任何未定义的常数都会被当作 Empty 来计算取值。
注意 Option Compare 语句不会影响 #If 及 #ElseIf 语句中的表达式。条件编译指令中的表达式总是用 Option Compare Text 计算值。

帮助文件里的示例:

本示例在 #If...Then...#Else构造中引用条件式编译器常数,来决定编译那部分语句。

' 如果 Mac 常数为 true,则编译 #If后面的语句。
#If Mac Then 
    '. 将 Mac 语句写在此处。
    '.
    '.
' 否则,如果是 32 位窗口程序,则编译这个语句:
#ElseIf Win32 Then
    '. 将 32 位窗口程序语句写在此处。
    '.
    '.
' 再否则,则编译以下语句:
#Else
    '. 将其他作业平台适用的语句写在此处。
    '.
    '.
#End If


其实就是:条件编译一般是为了编译不同的版本,(如普通版,专业版什么的),不同的版本对应不同的行为,要想在编译时就确定,可以用条件编译#If,如果想要运行时确定行为,可以用If在工程对话框中可以定义编译时的常量。

比如:

#Const UNICODE = 1
#If UNICODE Then
    MsgBox "unicode mode"
#Else
    MsgBox "ansi mode"

#End If




Access软件网交流QQ群(群号:198465573)
 
 相关文章
access用Between和iif实现灵活的查询  【UMVsoft整理  2009/1/5】
【access小品】姓甚名谁?---IIF套用  【煮江品茶  2011/4/14】
在Access查询中使用IIF、Switch、Choose函数  【Big Young  2014/11/1】
编译错误:块if没有end if  【杨雪  2015/8/26】
【IIF函数嵌套】IIF函数嵌套一层问题举例  【麥田  2015/11/17】
如何计算应交党费(iif、and的使用)  【梧桐细雨  2016/3/24】
【IIF嵌套Mid函数示例】--根据身份证号码判断男女  【麥田  2017/1/23】
常见问答
技术分类
相关资源
文章搜索
关于作者

will.miao

文章分类

文章存档

友情链接