access编程-操作(宏)[8]
时 间:2009-03-21 08:48:05
作 者:UMVsoft资料 ID:11 城市:上海 QQ:3002789054
摘 要:Access编程-操作(宏)
正 文:
MsgBox 操作[8]
使用 MsgBox 操作可以显示包含警告信息或其他信息的消息框。例如,可以在有效性宏中使用 MsgBox 操作。当控件或记录不符合宏中的有效性验证条件时,消息框将显示错误消息,并提示应该输入的正确数据类型。
MsgBox 操作具有下列参数:
操作参数 |
说明 |
消息 |
消息框中的文本。在“宏”窗口“操作参数”节的“消息”框中输入文本。最多可键入 255 个字符或输入一个表达式(前面必需有等号)。 |
发嘟嘟声 |
指定计算机在显示消息时,是否发出的嘟嘟声。可以选择“是”(发出嘟嘟声)或“否”(不发出嘟嘟声)。默认值为“是”。 |
类型 |
消息框的类型。每种类型都有不同的图标。可以选择“无”、“重要”、“警告?”、“警告!”或“信息”。默认值为“无”。 |
标题 |
消息框标题栏中显示的文本。例如,可以在标题栏显示“顾客标识号有效性”。如果将本参数留空,则标题栏显示“Microsoft Access”。 |
说明 使用 MsgBox 操作,可以创建与 Access 显示的内置错误消息类似的带格式错误消息。MsgBox 操作允许在“消息”参数的三个节中提供消息。可以使用“@”字符来分隔各节。
下面的示例显示具有分节消息的格式化消息框。消息中的第一节文本以加粗方式显示标题。第二节在标题下方,以纯文本显示。第三节在第二节下方,以纯文本显示,两者之间有一个空行。
例:在“消息”参数中输入下列消息:按钮错误!@该按钮不起作用。@请尝试另一个按钮。
在 Microsoft Visual Basic 中没有该操作。只能使用 MsgBox 函数来代替。
示例 通过使用宏同步窗体
下面的宏会在“供应商”窗体的右下角打开一个“产品列表”窗体,显示当前供应商所供应的产品。它显示了 Echo、MsgBox、GoToControl、StopMacro、OpenForm 及 MoveSize 等操作的使用方法,同时也显示了 MsgBox、GoToControl 和 StopMacro 操作的条件表达式的使用方法。该宏应附加到“供应商”窗体的“回顾产品”按钮上。
条件 |
操作 |
参数:设置 |
备注 |
|
Echo |
打开回响:否 |
在宏执行过程中停止屏幕更新。 |
IsNull([供应商ID]) |
MsgBox |
消息:请移至要查看其产品的供应商记录上,然后再次单击“回顾产品”按钮。 发嘟嘟声:无 类型:无 标题:选择供应商 |
如果“供应商”窗体中没有当前供应商的数据,则显示一条信息。 |
|
GoToControl |
控件名称:公司名称 |
将焦点移到“公司名称”控件上。 |
... |
StopMacro |
|
停止执行宏。 |
|
OpenForm |
窗体名称:产品列表 视图:数据表 筛选名称: Where 条件:[供应商ID] = [Forms]![供应商]![供应商ID] 数据模式:只读 窗口模式:普通 |
打开“产品列表”窗体并显示当前供应商的产品。 |
|
MoveSize |
右:0.7799 英寸 下:1.8 英寸 |
将“产品列表”窗体放在“供应商”窗体的右下方。 |
下面的验证宏检查在“供应商”窗体中输入的邮政编码。它显示 StopMacro、MsgBox、CancelEvent 及 GoToControl 操作的使用方法。条件表达式用于检查在该窗体上记录中输入的国家/地区和邮政编码。如果邮政编码不符合其国家/地区的正确格式,宏将显示消息框,并取消对记录的保存。然后您将返回到“邮政编码”控件并可以在那里改正错误。该宏应附加到“供应商”窗体的 BeforeUpdate 属性。
条件 |
操作 |
参数:设置 |
备注 |
IsNull([国家/地区]) |
StopMacro |
|
如果“国家/地区”为 Null,就无法验证邮政编码。 |
[国家/地区] In ("法国","意大利","西班牙") And Len([邮政编码]) <> 5 |
MsgBox |
消息:邮政编码必须为 5 个字符。 发嘟嘟声:是 类型:信息 标题:邮政编码错误 |
如果邮政编码不是 5 个字符,则会显示消息。 |
... |
CancelEvent |
|
取消事件。 |
|
GoToControl |
控件名称:邮政编码 |
|
[国家/地区] In ("澳大利亚","新加坡") And Len([邮政编码]) <> 4 |
MsgBox |
消息:邮政编码必须为 4 个字符。 发嘟嘟声:是 类型:信息 标题:邮政编码错误 |
如果邮政编码不是 4 个字符,则会显示消息。 |
... |
CancelEvent |
|
取消事件。 |
|
GoToControl |
控件名称:邮政编码 |
|
([国家/地区] = "加拿大") And ([邮政编码] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
MsgBox |
消息:邮政编码无效。加拿大编码示例:H1J 1C3 发嘟嘟声:是 类型:信息 标题:邮政编码错误 |
如果邮政编码不符合加拿大的有效格式,则会显示消息。(加拿大编码示例:H1J 1C3) |
... |
CancelEvent |
|
取消事件。 |
OpenDataAccessPage 操作
可以在“页”视图或“设计”视图中,使用 OpenDataAccessPage 操作打开数据访问页。
OpenDataAccessPage 操作具有以下参数:
操作参数 |
说明 |
数据访问页名称 |
要打开的页名。在“宏”窗口的“操作参数”节中的“数据访问页名称”框中显示了当前数据库中的所有页。该参数是必选参数。 如果在类库数据库中运行包含 OpenDataAccessPage 操作的宏,Microsoft Access 首先在类库数据库查找具有该名称的页,然后再在当前数据库中查找。 |
视图 |
将在其中打开数据访问页的视图。单击“视图”框中的“浏览”或“设计”。默认值为“浏览”。 |
说明 该操作类似于单击对象下的“页”
提示 可以在“数据库”窗口中选择一个数据访问页,并将其拖到宏操作行中。这样,就会自动创建一个 OpenDataAccessPage 操作,该操作在“页”视图中打开此数据访问页。
若要在 Microsoft Visual Basic 中运行 OpenDataAccessPage 操作,请使用 DoCmd 对象的 OpenView 方法。
OpenDiagram 操作
在 Microsoft Access 项目中,可以使用 OpenDiagram 操作在“设计”视图中打开数据库图表。
设置
OpenDiagram 操作具有以下参数:
操作参数 |
说明 |
图表名称 |
要打开的数据库图表的名称。在“宏”窗口“操作参数”节中的“图表名称”框中,显示了当前数据库中的所有图表。该参数是必选参数。 如果在类库数据库中运行包含 OpenDiagram 操作的宏,Microsoft Access 首先在类库数据库查找具有该名称的图表,然后再在当前数据库中查找。 |
说明 该操作类似于在单击“对象”下的“数据库图表”
提示 可以在“数据库”窗口中选择一个数据库图表,然后将其拖到宏的操作行中。这样,就会自动创建一个 OpenDiagram 操作,该操作在“设计”视图中打开数据库图表。
若要在 Microsoft Visual Basic 中运行 OpenDiagram 操作,请使用 DoCmd 对象的 OpenDiagram 方法。
OpenForm 操作
使用 OpenForm 操作,可以在“窗体”视图或从窗体“设计”视图、“打印预览”或“数据表”视图中打开窗体,可以选择窗体的数据输入与窗口模式并限制窗体所显示的记录。
OpenForm 操作具有以下参数:
操作参数 |
说明 |
窗体名称 |
打开窗体的名称。在“宏”窗口的“操作参数”节中的“窗体名称”框中显示了当前数据库中的全部窗体。该参数是必选的参数。 如果在类库数据库中执行包含 OpenForm 操作的宏,Microsoft Access 将首先在类库数据库中查找具有该名称的窗体,然后再到当前数据库中查找。 |
视图 |
打开窗体的视图。可在“视图”框中选择“窗体”、“设计”、“打印预览”、“数据表”、“数据透视表”或“数据透视图”。默认值为“窗体”。 注意 “视图”参数设置会忽略窗体的“默认视图”和“允许视图”的属性设置。例如,如果某个窗体的“允许视图”属性设置为“数据表”,仍然可以使用 OpenForm 操作在“窗体”视图中打开窗体。 |
筛选 名称 |
用于限制或排序窗体中记录的筛选。可以输入一个已有查询的名称或另存为查询的筛选名称。不过,该查询必须包含所打开窗体的所有字段,或将这个查询的“输出所有字段”属性设置为“是”。 |
Where 条件 |
Access 用以从窗体的基础表或基础查询中选择记录的有效 SQL Where 子句(不包含 Where 一字)或表达式。如果用“筛选名称”参数选择筛选,那么 Access 将这个 Where 子句应用于筛选的结果。 如果要打开某个窗体,并将该窗体中的记录数限制为使用其他窗体中的控件的值所指定的记录数,可使用下列表达式:[fieldname] = Forms![formname]![controlname on other form] FieldName 参数是要打开的窗体的基础表或基础查询中的字段名。controlname on other form 参数是其他窗体中的控件名称,该控件包含需要与第一个窗体的记录匹配的数值。 注意 Where 条件参数的最大的长度是 255 个字符。如果需要输入比此更长、更复杂的 SQL Where 子句语句,可使用 Microsoft Visual Basic 中 DoCmd 对象的 OpenForm 方法来代替。在 Visual Basic 中可以输入最长为 32,768 个字符的 SQL Where 子句。 |
数据 模式 |
窗体的数据输入模式。该参数只能应用于在“窗体”视图或“数据表”视图中打开的窗体。可选择“添加”(用户可以添加新记录,但不能编辑已有记录)、“编辑”(用户可以编辑已有记录,也可以添加记录)或“只读”(用户只能查看记录)。默认值为“编辑”。 1.“数据模式”参数设置会忽略窗体的“允许编辑”、“允许删除”、“允许添加”和“数据输入”属性设置。例如,如果窗体的“允许编辑”属性设置为“否”,仍然可以用 OpenForm 操作在“编辑”模式下打开窗体。 2.如果该参数留空,Access 会以窗体的“允许编辑”、“允许删除”、“允许添加”和“数据输入”属性所指定的数据输入模式打开窗体。 |
窗口 模式 |
在其打开窗体的窗口模式。单击“普通”,这样窗口模式由窗体的下列属性指定:“隐藏”(隐藏窗体)、“图标”(窗体在打开时最小化为屏幕底部的小标题栏)或“对话框”(窗体的“模式”和“弹出式”属性设置为“是”)。默认值为“普通”。 |
说明 该操作类似于单击对象下的“窗体”
窗体可以是模式(该窗体必须在用户执行任何其他操作前关闭或隐藏)的、非模式(用户可以在窗体打开时移动到其他窗口中)的。窗体也可以是弹出式窗体(停留在所有其他 Access 窗口顶部的窗体,用以收集或显示信息)。设计窗体时,可以设置“模式”和“弹出方式”属性。如果将“窗口模式”参数设置为“普通”,那么窗体会以这些属性设置所指定的方式打开。如果将“窗口模式”参数设置为“对话框”,那么这两个属性都将被设置为“是”。当显示或恢复某个以隐藏或图标方式打开的窗体时,它返回到由窗体属性设置所指定的模式中。
打开“窗口模式”参数设置为“对话框”的窗体时,Access 将暂时挂起宏的执行,直到窗体关闭或隐藏为止。也可以使用 SetValue 操作,将 Visible 属性设置为“否”,以此方式来隐藏窗体。
提示 在“数据库”窗口中选择窗体,然后将其拖到宏操作行中,可以自动创建在“窗体”视图中打开该窗体的 OpenForm 操作。
所应用的筛选和 Where 条件将成为窗体的“过滤器”属性设置。
示例 通过使用宏设置控件的值
下面的宏使用“供应商”窗体中的一个按钮打开“增加产品”窗体。它显示了 Echo、Close、OpenForm、SetValue 及 GoToControl 操作的使用方法。SetValue 操作将“产品”窗体中的“供应商ID”控件设置为“供应商”窗体中的当前供应商,然后 GoToControl 操作将焦点移到“类别ID”字段,以便输入新产品的数据。该宏应附加到“供应商”窗体的“添加产品”按钮上。
操作 |
参数:设置 |
备注 |
Echo |
打开回响:否 |
在宏执行当中停止屏幕更新。 |
Close |
对象类型:窗体 对象名称:产品列表 保存:否 |
关闭“产品列表”窗体。 |
OpenForm |
窗体名称:产品 视图:窗体 数据模式:添加 窗口模式:普通 |
打开“产品”窗体。 |
SetValue |
项目:[Forms]![产品]![供应商ID] 表达式:供应商ID |
将“供应商ID”控件设为“供应商”窗体中的当前供应商。 |
GoToControl |
控件名称:类别ID |
移到“类别ID”控件。 |
下面的宏会在“供应商”窗体的右下角打开一个“产品列表”窗体,显示当前供应商所供应的产品。它显示了 Echo、MsgBox、GoToControl、StopMacro、OpenForm 及 MoveSize 等操作的使用方法,同时也显示了 MsgBox、GoToControl 和 StopMacro 操作的条件表达式的使用方法。该宏应附加到“供应商”窗体的“回顾产品”按钮上。
条件 |
操作 |
参数:设置 |
备注 |
|
Echo |
打开回响:否 |
在宏执行过程中停止屏幕更新。 |
IsNull([供应商ID]) |
MsgBox |
消息:请移至要查看其产品的供应商记录上,然后再次单击“回顾产品”按钮。 发嘟嘟声:无 类型:无 标题:选择供应商 |
如果“供应商”窗体中没有当前供应商的数据,则显示一条信息。 |
|
GoToControl |
控件名称:公司名称 |
将焦点移到“公司名称”控件上。 |
... |
StopMacro |
|
停止执行宏。 |
|
OpenForm |
窗体名称:产品列表 视图:数据表 筛选名称: Where 条件:[供应商ID] = [Forms]![供应商]![供应商ID] 数据模式:只读 窗口模式:普通 |
打开“产品列表”窗体并显示当前供应商的产品。 |
|
MoveSize |
右:0.7799 英寸 下:1.8 英寸 |
将“产品列表”窗体放在“供应商”窗体的右下方。 |
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)