虽然可以将Access数据表或查询中的数据直接复制粘贴到Excel中,但操作起来有些烦琐。可以在窗体中添加一个按钮,利用“宏”将查询出的数据导出到预先设置好的Excel表格中。
1、打开宏设计视图
在Access功能区中选择[创建]选项卡=>[宏与代码]=>[宏],进入宏设计视图。
在Access宏设计视图中,展开“操作”列的组合框,可以看到Access的基本操作(如果选中功能区的“显示所有操作”,则会看到Access所有的基本操作)。其实,设计Access宏的任务就是如何选择、组合、设计这些基本操作,让Access按照流程完成相应的任务。
2、设置宏的格式
在“操作”列中选择“OutputTo”,在宏设计视图的下部设置操作参数。
对象类型:查询
对象名称:书籍分类明细。本例中的查询以窗体控件内容为参数,具体见本文第5步
输出格式:Excel工作簿(*.xlsx)
输出文件:D:\tmp\书籍分类明细.xlsx。注意需要带上文件后缀
自动启动:否。默认为“否”,如果选“是”,导出时会同时打开Excel表格
操作步骤设置完成后,将宏保存为“导出书籍分类明细”。
3、设置导出Excel的按钮
在Access功能区中选择[设计]选项卡=>[控件]=>[按钮],并激活“使用控件向导”功能。
在主窗体“阅读记录”的适当位置按住鼠标左键并拖动鼠标绘制一个按钮,在释放鼠标左键后,会打开[命令按钮向导]面板。
在[命令按钮向导]面板中,在[类别]列表框中选择“杂项”,在[操作]列表框中选择“运行宏”。
接着选择刚创建的宏“导出书籍分类明细”。
按钮显示文本。选择[文本],并将按钮显示文本改为“导出同类别书籍”。
为按钮命名。输入“btnOutExcel”。
4、导出数据到Excel
接下来切换到窗体视图,浏览到对应的书籍后,点击[导出同类别书籍]按钮,因已存在同名的文件,这时就弹出了对话框,提示“是否替换已有的文件?”,单击[是]按钮。
去到对应的文件夹,打开Excel后,可以看到类别ID为“43”的所有书籍明细。
5、新建查询(以窗体控件的内容作为参数)
如果导出的是Access已有的查询,该节内容就可以略过。为了演示效果,新建了以窗体控件内容为参数的查询,可以将查询的结果与窗体当前的内容连接起来,实现动态查询。
在Access功能区中选择[创建]选项卡=>[其他]=>[查询设计],进入Access查询设计视图。
选择好字段后,为字段“cate_id”设置条件。右键单击“cate_id”的条件单元格,选择[生成器]。
在[表达式生成器]面板,在[表达式元素]列表框中选择窗体“阅读记录”,在[表达式类别]列表框中选择“cate_id”,在[表达式值]列表框中双击“<值>”选项,将其加入上面的表达式文本域(Forms![阅读记录]![cate_id]),然后单击“确定”按钮。
返回查询设计网格中,可以看到“cate_id”下方的“条件”单元格中出现了我们使用“表达式生成器”工具建立的限制条件表达式([Forms]![阅读记录]![cate_id]),表示该查询执行结果限定于窗体“阅读记录”中的“cate_id”控件所决定的书籍分类编号。
将查询保存为“书籍分类别明细”。