首页 > 单独文章 > 正文

Access与word/excel共享数据方法集

时间:2009-05-03 20:17:03 作者:officeba 【认证】
Access文件与HTML文档相互转换  要将Access文件转换成HTML文档(超媒体文档),可以在Access中执行“文件”菜单下的“导出”命令,并将“保存类型”指定为“HTML文档”。可以用Microsoft FrontPage或其它网页编辑软件打开该文档进行编辑修改。与导入文本文件和Excel文件方法相同,要在Access中导入HTML文档,只要依次执行:“文件→获取外部数据→导入”,将“文件类型”指定为“HTML文档”即可。  将Word中的表格导入Access中  在Word中可以对Access转换过来的表格自如地进行编辑,然后再将处理好的表格重新导入Access中。可以通过两种办法在Access中使用Word表格的数据:  一是通过剪贴板,其方法是在Word中选中表格的若干行或若干列(当然,也可以单击表格左上角的“选择”工具,选中表格所有数据)后,单击工具栏上的“复制”按钮,然后再打开Access中的表或者查询项,按下工具栏上的“粘贴”按钮将表格数据复制过来。  二是通过文本文件作为过渡,分成两步进行:第—步,首先把Word中的表格转换成纯文本文件;第二步,在Access中导入文本文件。具体操作方法是,在Word中选中表格,依次执行“表格→转换→表格转换成文字”,然后点击“另存为”命令,并指定“保存类型”为“纯文本”。在Access中依次执行:“文件→获取外部数据→导入”,在“另存为”窗口下选择“文件类型”为“文本文件”。  Excel中导入Access数据  可以使用三种方法将Access中的表或者查询项导入Excel中:一是利用剪贴板,其操作方法与导出为Word表格的方法相同。二是将Access数据导出为Excel文件,具体操作方法为:在Access中选中表或者查询项,执行“文件”菜单下的“导出”命令,将“保存类型”指定为“Microsoft Excel97-2000”,在Excel中直接双击该文件即可将其打开。三是直接在Excel中打开,方法是依次执行:“数据→获取外部数据→新建数据库查询(由于典型安装中不包括该功能,所以当第一次使用时系统会提示安装)”,在随后打开的“选择数据源”对话框中,将“新数据源”指定为“MSAccess Datebase”即可。  在不同的Access文件之间进行数据共享  如果新建的表与已经存在的表中部分字段或部分记录相同,显然可以通过共享原有表中的数据来提高工作效率。而且被共享的表既可以与新建表在同一数据库内,也可以不在同一数据库内。具体共享方式有三种:  1. 利用剪贴板进行共享  在数据库窗口中,右击需要备份的表或者查询,在快捷菜单中选择“复制”命令,在需要复制的地方右击鼠标后选择“粘贴”命令,根据需要选择“只粘贴结构、结构和数据、或者将数据追加到已有的表”。当然,也可以打开要转换的表或者查询,直接选中部分记录或部分字段,将其复制到其它的表或查询项中。  2. 直接导入Access对象  具体操作步骤是,依次执行:“文件→获取外部数据→导入”,将“文件类型”指定为“Microsoft Access”,这样就可以将当前数据库或其它数据库中的对象导入。  3. 利用链接表  操作基本同上,依次执行:“文件→获取外部数据→链接表”,将“文件类型”指定为“Microsoft Access”,找到相应的表后将其链接进来,和上面直接导入的区别在于,链接进来的表的数据会随原始表数据同步变化,而导入则不会。其实,在使用链接表时,如果将“文件类型”分别指定为“Microsoft Excel、文本文件或HTML文档”,也可以分别将这些文件导入Access,且导入的表中数据会随着原始数据的变化而变化
在Word中打开Access表查询项  如果想把Access中的表或者查询,转换成为Word中能够读取的文件格式,以便利用Word进行处理,可以采用以下三种方式:  1. 利用剪贴板  在Access中,打开要转换的表或者查询项,将鼠标指针拖过所选记录的行选择器(在窗口的最左端,当鼠标置于其上时,鼠标指针会变成向右方向的箭头),可以选择一组记录;将鼠标指针拖过所选字段的字段选择器(在窗口的最上端,当鼠标置于其上时,鼠标指针会变成向下方向的箭头),可以选择一组字段;当用鼠标单击左上角的字段选择器和行选择器的交叉处时,可选中所有记录或者说是选中所有字段。进行上述三种情况之一的选择以后,再单击工具栏上的“复制”按钮,将所选内容复制到剪贴板中,随后再打开Word,单击工具栏上的“粘贴”按钮,即可将Access中表或者查询项复制成Word中的表格。如果你觉得被复制进来的深色底纹表头影响视觉效果,可以选中该行后,执行“格式”菜单下的“边框和底纹”命令,按下“底纹”标签按钮,选择“无填充色”。  2. 导出为RTF文件  在Access中,打开要转换的表或者查询,执行“文件”菜单下的“导出”命令,将“保存类型”指定为“Rich Text Format”。在Word中,执行“文件”菜单下的“打开”命令或者直接按下工具栏上的“打开”按钮,在随后弹出的“打开”对话框中,单击“文件类型”旁边的下拉列表,将其指定为“RTF格式”,找到前面保存的RTF文件双击即可打开。  3. 直接插入数据库  在Word中,单击“视图”菜单下的“工具栏”,然后将“数据库”一项选中(或者将鼠标置于Word窗口的菜单栏或工具栏上右击,在弹出的快捷菜单中选中“数据库”一项)。这时,要在Word中打开Access的表或者查询项,就可以单击新增加出来的“数据库”工具栏上的“插入数据库”按钮,在随后打开的“数据库”对话框中,按下“获取数据”标签按钮,将文件类型指定为“MS Access数据库”,选中一个数据库文件中的表或者查询,再单击“插入数据”标签按钮。  将Excel工作表导入Access  利用Excel方便的自动输入功能和强大的数据处理功能对Access导入的数据进行一番处理之后,再将其转换成Access文件,无疑是实际工作中使用最多的一种方法。Access中导入Excel文件的操作与导入文本文件相同,只要在Access中依次执行:“文件→获取外部数据→导入”,将“文件类型”指定为“Microsoft Excel”即可。当然也可以通过方便快捷的剪贴板完成(操作方法与Word表格导入Access表相同)。
使用ADO将数据导入Word方法
使用下述方法可将表中的数据导入Word新文档中,但每次导入时均创建一个新文档,如果要导入一个已存在的文档中,不知该如何更改代码?请高手指教。


Sub 命令0_Click()

'步骤1:建立数据连接cnn '由于数据库已经打开,所以直接应用CurrentProject.Connection就可以建立连接 Set cnn = New ADODB.Connection Set cnn = CurrentProject.Connection '步骤2:用SQL语句创建记录集rs Set rs = New ADODB.Recordset '设定游标类型与锁定类型 rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic '制定特定的查询条件,可以是任何有效的SQL查询,甚至包括多表、多条件等复杂的查询,查询条件也常常从窗体取得 SQL = "select 产品名称,单位数量,单价,库存量 from 产品 where 单价>10.00" '创建记录集rs rs.Open SQL, cnn '统计字段数及记录数 total_fields = rs.Fields.Count total_records = rs.RecordCount '步骤3:建立Word文档对象 Set mywdapp = CreateObject("word.application") '调整Word窗口大小 mywdapp.WindowState = wdWindowStateNormal '生成新的Word文档实例 mywdapp.Documents.Add '设置视图为页面视图 mywdapp.ActiveWindow.View.Type = wdPrintView '转到Word视图,显示文档生成过程 mywdapp.Visible = True mywdapp.Activate '设置文档(表格)字体 mywdapp.ActiveDocument.Range.Font.Size = "9" '步骤4:将记录集rs中的字段名称和字段内容输出到Word,各字段之间用制表符分隔 '输出字段名称 For I = 0 To total_fields - 2 mywdapp.Selection.TypeText Text:=rs.Fields(I).Name & vbTab Next I '最后一个字段名称后加回车符 mywdapp.Selection.TypeText Text:=rs.Fields(total_fields - 1).Name & vbCrLf '逐条输出字段内容 Do While Not rs.EOF For I = 0 To total_fields - 2 tmpstr = rs.Fields(I).Value If rs.Fields(I).Name = "单价" Then tmpstr = Format(tmpstr, "####.00") End If mywdapp.Selection.TypeText Text:=tmpstr & vbTab Next I '一条记录的最后一个字段后加回车符 mywdapp.Selection.TypeText Text:=rs.Fields(total_fields - 1).Value & vbCrLf rs.MoveNext Loop '步骤5:关闭记录集 rs.Close Set rs = Nothing

mywdapp.Application.ScreenRefresh '刷屏 '转到Acdess视图,显示结束对话框 mywdapp.Visible = False Msg = "数据提取完毕。" & vbCrLf & vbCrLf Msg = Msg & "总记录数=" & total_records & " 条" MsgBox Msg, vbOKOnly, "数据提取完毕" '转到Word视图,显示文档 mywdapp.Visible = True mywdapp.Activate End Sub

Word共享Access数据最简单的方法是复制、粘贴,你只需打开Access数据库中的表,就可以像复制Excel数据那样复制Access数据然后粘贴到Word中。另外,Word还可以使用插入记录的方法共享Access、SQL数据。

  1、插入全部记录

  右键单击Word工具栏,选择“数据库”命令,打开“数据库”工具栏,单击“插入数据库”按钮,在打开的“数据库”对话框中单击“获取数据”按钮,在打开的对话框中双击Access数据库。



  如果需要把数据库中的部分或全部数据插入Word,可单击“数据库”对话框中的“获取数据”,再选择一个数据源,单击“数据库”对话框中的“插入数据”,在打开的对话框中选择“全部”或“从”选项,单击“确定”按钮就可以把记录数据插入文档。





  2、插入符合条件的记录

  如果我们需要将数据库中符合某些条件的记录插入文档,就要使用“查询选项”进行必要的筛选,打开“数据库”对话框,单击“查询选项”按钮,以打开相应对话框。



  在对话框中,输入域、比较条件和比较对象。

  使用上面的介绍也可以把Excel工作表中的记录插入Word中。

  3、SQL数据连接

  通常情况下,我们都是使用Acces数据库。如果Word需要共享SQL Server 2000以及其他数据库中的数据,就需要使用“数据连接向导”。这里只能简单介绍一下。

  在Word“数据库”工具栏中单击“插入数据库”按钮,在打开的“数据库”对话框,单击“获取数据”,在打开对话框中,单击“新建源”按钮打开“数据连接向导”。



  选择“Microsoft SQL Server”选项,单击“下一步”按钮打开对话框。输入服务器的名称,登录凭据,再单击“下一步”,选中要插入数据的表,单击“下一步”按钮继续,在打开对话框中列出即将建立的数据连接文件的名称,单击“完成”按钮。




相关文章

同类最新