可以使用 Access 桌面数据库中的 EMailDatabaseObject 宏操作在电子邮件中包含指定的 Access 数据表、窗体、报表或模块,可在其中查看和转发。
注意
如果数据库不受信任,则不允许此操作。
设置
EMailDatabaseObject 操作具有以下参数。
| 操作参数 | 说明 |
|---|---|
| 对象类型 | 要包含在邮件中的 对象的类型。 单击表数据表 () 、查询 (查询数据表) 、窗体或窗体数据表的窗体 () 、报表、模块或数据访问页、服务器视图、存储过程或函数,在宏设计窗口的“操作参数”部分的“对象类型”框中。 无法发送宏。 如果要包含活动对象,请使用此参数选择其类型,但将 “对象名称” 参数留空。 |
| 对象名称 | 要包含在邮件中的对象的名称。 “对象名称”框显示数据库中属于“对象类型”参数所选类型的所有对象。 如果“ 对象类型” 和“ 对象名称” 参数都留空,则 Access 会将消息发送到邮件应用程序,而不使用任何数据库对象。 如果在库数据库中运行包含 EMailDatabaseObject 操作的宏,则 Access 首先在库数据库中查找具有此名称的对象,然后在当前数据库中查找。 |
| 输出格式 | 要用于包含对象的格式类型。 可以根据为 Object Type 参数选择的格式列表而更改。 可用格式可能包括 Excel 97 - Excel 2003 工作簿 (*.xls) 、Excel 二进制工作簿 (*.xlsb) 、Excel 工作簿 (*.xlsx) 、HTML (*.htm、 *.html) 、Microsoft Excel 5.0/95 工作簿 (*.xls) 、PDF 格式 (*.pdf) 、富文本 Fomat (*.rtf) 、文本Files (*.txt) 或 XPS 格式 (*.xps) 。 在 “输出格式 ”框中。 模块只能以文本格式发送。 数据访问页只能以 HTML 格式发送。 如果将该参数保留为空,Access 会提示你输入输出格式。 |
| 目的 | 要将其姓名放在邮件中“ 收件人 ”行的邮件收件人。 如果将此参数留空,Access 会提示你输入收件人的姓名。 使用分号 (;) 或Microsoft Windows 控制面板中“区域设置属性”对话框的“编号”选项卡上设置列表分隔符,将此参数 (和抄送和密件抄送参数) 中指定的收件人姓名分隔开来。 如果邮件应用程序无法识别收件人的姓名,则不会发送邮件,并发生错误。 |
| 抄送 | 要将其姓名放在 邮件 (“ 抄送副本”) 行的邮件收件人。 如果将此参数留空,则邮件中的 抄送 行为空。 |
| 密件抄送 | 要将其姓名放在 密件抄送 (“盲送抄送”的邮件收件人 ) 行。 如果将此参数留空,则邮件中的 密件抄送 行为空。 |
| 主题 | 邮件的主题。 此文本显示在邮件的 “主题” 行上。 如果将此参数留空,则邮件中的 “主题” 行为空。 |
| 消息文本 | 除数据库对象外,要包含在消息中的任何文本。 此文本显示在邮件正文中的 对象之后。 如果将此参数留空,则邮件中不会包含其他文本。 如果将 “对象类型” 和 “对象名称” 参数留空,则可以使用此参数在不使用数据库对象的情况下发送邮件。 |
| 编辑消息 | 指定是否可以在发送消息之前对其进行编辑。 如果选择“ 是”,电子邮件应用程序将自动启动,并且可以编辑邮件。 如果选择“ 否”,则会发送消息,用户没有机会编辑消息。 默认值是“是”。 |
| 模板文件 | 要用作 HTML 文件模板的文件的路径和文件名。 模板文件是包含 HTML 标记的文件。 |
备注
邮件中的 对象采用所选输出格式。 双击对象时,相应的软件将从打开对象开始。
使用 EMailDatabaseObject 操作在邮件中包含数据库对象时,以下规则适用:
- 可以发送表、查询和表单数据表。 在包含的 对象中,数据表中的所有字段都与 Access 中一样,但包含 OLE 对象的字段除外。 这些字段的列包含在 对象中,但字段为空。
- 对于绑定到“是/否”字段 (切换按钮、选项按钮或检查框) 的控件,输出文件显示值 –1 (是) 或 0 (No) 。
- 对于绑定到“超链接”字段的文本框,输出文件显示除 MS-DOS 文本 (之外的所有输出格式的超链接,在这种情况下,超链接仅显示为普通文本) 。
- 如果在窗体视图中发送窗体,则包含的对象始终包含窗体的数据表视图。
- 如果发送报表,则对象中包含的唯一控件是文本框,在某些情况下 () 标签。 将忽略所有其他控件。 页眉和页脚信息也不包括在内。 唯一的例外是,当您以 Excel 格式发送报表时,对象中包含包含具有 Sum 函数的表达式的组页脚中的文本框。 (页眉或页脚中没有其他控件,除了 Sum) 之外,没有聚合函数包含在 对象中。
- 子报表包含在 对象中。
- 以 HTML 格式发送数据表、窗体或数据访问页时,将创建一个 .html 文件。 以 HTML 格式发送报表时,会为报表中的每个页面创建一个 .html 文件。
若要在 Visual Basic for Applications (VBA) 模块中运行 EMailDatabaseObject 操作,请使用 DoCmd 对象的 SendObject 方法。
|
以下链接由 Luke Chung 提供。 Luke 是 FMS, Inc. 的创始人和总裁,该公司是自定义数据库解决方案和开发人员工具的领先提供商。 |
|---|