设为首页
|
收藏本站
|
繁体中文
|
手机版
整站搜索
资讯
技巧
源码
行业
设备(待改)
资源
信息库(待改)
产品
作品(待改)
活动
培训(视频)
平台(待改)
二级(待改)
互动(作废)
交易
Access培训
-
Access开发平台
-
Access行业开发
首页
资讯
技巧
源码
行业
资源
活动
关于
技巧
ACCESS数据库
启动/设置/选项/背景
修复/压缩
安全/加密/解密
快捷键
版本升级/其它等
数据表
命名方式/设计规范
表设计
查询
Sql语言基础
选择查询
更新查询
删除查询
追加查询
生成表查询
交叉表查询
SQL特定查询
查询参数
查询综合应用
界面/窗体/控件
标签
文本框
命令按钮
组合框/列表框
选项组/复选框/选项按钮
选项卡
子窗体
窗体本身/综合应用
其它
报表打印
报表设计
高级报表
模块/函数/VBA/API/系统
VBA基础
内置函数
调试/跟踪/Debug
模块/类模块
API/COM/系统相关
字符数字日期
网络通信游戏
加密解密安全
文件处理
经典算法
宏/菜单/工具栏/功能区
宏/脚本
菜单/工具栏
功能区/Ribbon
图表/图形/图像/多媒体
图表
图形/图像
音频
视频/动画
DAO/链接表/ADO/ADP
DAO/链接表/ODBC
ADO/RDO
ADP
ActiveX/第三方控件/插件
Treeview树控件
ListView列表控件
Toolbar工具栏控件
微软其它控件
Dbi-Tech
CodeJock
Grid++Report
FastReport
ComponentOne
加载项/插件/Addin
OFFICE集成/导入导出/交互
Excel导入导出/交互
Word导入导出/交互
PPT交互
Outlook控制/邮件
Text文本文件/INI/CSV
PDF/SWF/XML格式
CAD格式
Sharepoint/其它Office
SqlServer/其它数据库
表
视图
存储过程/触发器
函数
用户/权限/安全
调试/维护
SqlServer其它/综合
发布/打包/文档/帮助
开发版/运行时
打包/发布/部署
开发文档/帮助制作
Access完整行业系统
采购管理系统
销售管理系统
仓库管理系统
人力资源管理HRM
CRM管理系统
MRP/ERP管理系统
BRP/流程优化
其它管理系统
心得/经验/绝招
其它/杂项
Excel技巧
Excel应用与操作
Excel开发编程
Word技巧
Word应用与操作
Word开发编程
Outlook技巧
Outlook应用与操作
Outlook开发编程
热门文章
在VB应用程序中单击按钮打..
在路径中返回文件名
Access在函数后面加一..
常用的日期函数。希望对大家..
动态引用 DLL 库
Access DAO使用书..
最新文章
Access或VB VBA..
关于VBA的0、""(空字..
Access导出函数Out..
Access日期与日期区间..
RecordSource ..
Access子窗体事件控制..
联系方式
Access交流网(免费Access交流)
QQ:18449932
网 址:
www.access-cn.com
当前位置:
首页
>
技巧
>
模块/函数/VBA/API/系统
>
VBA基础
VBA基础
模块的使用技巧
access最重要的特征就是一般不必去写程序,然而可能因为要执行复杂或专业的操作而必须在模块中用Visual Basic编写程序,然后通过窗体中的命令按钮来执行相应的程序完成相应的任务。比如排名次、分段统计等。在编写Visual Basic程序时要注意以下一些问题和技巧。
1、变量的运用
①对象变量的运用
在access中运用Visual Basic编写程序,需要运用其数据访问对象。它包括数据库引擎(DBEngine)、工作空间(Workspace)、数据库以及数据库对象中的表、查询、记录集等对象。如缺省工作空间:DBEngine.Workspaces(0),当前数据库:DBEngine.Workspaces(0).Databases(0)。我们可以用一个对象变量来表示一个对象,这样将为编程带来很大方便。为对象变量赋值要用Set语句,而不要直接赋值。例如:
Dim thedb As Database
Set thedb = DBEngine.Workspaces(0).Databases(0)
②Variant 数据类型的运用
Variant 数据类型是所有没被显示声明(如 Dim、Private、Public 或 Static等语句)为其他类型变量的数据类型。Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。Variant 也可以包含 Empty、Error、Nothing 及 Null特殊值。Empty 值用来标记尚未初始化(给定初始值)的 Variant 变量。内含 Empty 的 Variant 在数值的上下文中表示 0,如果是用在字符串的上下文中则表示零长度的字符串 ("")。Null 表示未知数据或丢失的数据,即无效数据。不应将 Empty 与 Null 弄混。Null 是表示 Variant 变量确实含有一个无效数据。
当有些量可能出现Null值时,可将该变量定义为Variant 数据类型。Variant 数据类型为编程者提供很大的灵活性,但牺牲了代码的速度和长度。
③通过变量来间接引用数据库对象及限定条件
为了增加灵活性,提高控制能力,减少代码的重复和运用循环语句,在程序中应充分运用变量来间接引用数据库对象和限定条件。比如各个年级学生成绩排名次的处理程序,只是各年级的成绩表名不同,我们可以将程序中的成绩表名用一个变量如“bzcjb”来表示,具体处理时再替换为具体的表名,如替换为高一年级的成绩表名“g1cjb”。
在具体运用中有一些问题要注意,如:
Dim thedb As Database
Set thedb = DBEngine.Workspaces(0).Databases(0)
Dim thecsb As Recordset
Set thecsb = thedb.OpenRecordset(bzcjb, DB_OPEN_DYNASET)
这里“bzcjb”可代表任意一个成绩表,若“bzcjb”本身就是一个已存在的数表名,则上述最后一个语句中的“bzcjb”应加上引号,如下所示:
Set thecsb = thedb.OpenRecordset("bzcjb", DB_OPEN_DYNASET)
再比如Dcount 函数可用于确定特定记录集中的记录数。可以在 Visual Basic、宏、查询表达式,或计算控件中使用 Dcount 函数。
语法是:Dcount(expr, domain[, criteria])
其参数如下:
expr 表达式,用于标识将统计其记录数的字段。可以是一个标识表或查询中字段的字符串表达式。 Expr可为字段的名称或“*”,除非是“*”, Dcount 函数对包含空字段的记录不记数,若为“*”,Dcount 函数计算记录总数。Domain字符串表达式,代表组成域的记录集,可以是表的名称或查询的名称。Criteria 可选的字符串表达式,用于限制 Dcount 函数执行的数据范围。对于其限制条件criteria 可用一个变量来代替,比如要统计表“g1cjb”中字段“语文”分数大于等于80分的人数,可用下式来完成:
Dcount("*", "g1cjb", " [班级]>=80")
假若用数字型变量“n”来替换“80”则如下:
Dcount("*", "g1cjb", " [班级]>=" & n)
假若用字符型变量“n”来替换“80”则如下:
Dcount("*", "g1cjb", " [班级]>='" & n & "'")
要注意替代的形式是不同的。上面的符号“&”是连接运算符。
2、如何产生程序运行进度框
若在程序运行时能产生一个程序运行进度框将会增加不少乐趣,access可以实现这一要求。本人在实践中摸索出一种简单的方法,就是通过在窗体中建两个文本框,一个大一点的长条形文本框(填充色为白色),作为外框,一个窄一点的长条形文本框(填充色为其他彩色,长度取为0.011厘米),作为产生程序运行流水线用,它们的初始状态均为不可见。然后在程序中控制其属性为可见的且修改进度流水线文本框的宽度来显示程序的进展情况。要注意的是为了让进度框在程序运行时能及时显示出来必须用SetFocus 方法将焦点移动到进度框上,并且要调整好流水线文本框与外框文本框的初始位置。注意,在用Width 属性改变控件宽度时其单位为“Twip”,1Twip=1/1440英寸,约为1/567厘米。
发布人:未知-Access开发者
分享到:
点击次数:
更新时间:2006-11-17 22:27:48 【
打印此页
】 【
关闭
】
上一条:
自动更新链接表的模块
下一条:
Access权限 判断函数
相关文章
•
Access或VB VBA判断数组的值是否为空的几种方法
•
关于VBA的0、""(空字符串)、Null、Empty、与 Nothing 的区别
•
Access导出函数OutPutto解释
•
Access日期与日期区间的筛选
•
RecordSource SourceObject ControlSource属性的区别
•
Access子窗体事件控制父窗体
•
事件change和AfterUpdate的区别
•
代码修改完善方法示例(初学者必读)
热门文章
[2013-08-06]
【Access技巧】数据隔行变色显示
[2013-09-03]
Access方法Requery和Refresh的区别
[2004-11-28]
The Power of CGridMend 1.2
[2009-05-25]
VB程序设计的常用算法(转载)
[2009-04-13]
4 种常用加密算法-6-rsa
[2003-12-20]
如何判断二个日期是否为同一月份
热门产品