利用VB6.0将ACCESS2000数据库转化为EXCEL WORD文件

合集下载

利用VB6实现Access数据库到Excel的数据导入

利用VB6实现Access数据库到Excel的数据导入
O pto pl i i n Ex i t c Di a Con m do n AsADO DB. Ol e i n C i ne fo . Di ad RS ,sA DOD B. e or e m o A R e ds t
。开始 输 出 与格 式 转 换 ”
S r e . u e o n e= b u ga s 。 c e n Mo s P itr v Ho r ls 鼠
j i INu| b t do F ed I e =a RS. ed . Un - l Fil sCO tl a oRS M o e is d . v Fr t
Do 【n i a RS EO Itl do . F
R e r stA o l n eode) SB oe a
标 光 标 变成 漏 斗 的 形状
I tl To aRD=0 Se p t ie Cor m o di o . l Na e x or F l- n n algIFi e m
D m c n et n Ij s t n ’ 换 i 0 n c o sr gA r g j n S i 转 成 C V格 式 函数 S
二 、 实 倒 1 将 A es-:- 数 据 转 换 成 C V 式 . ee g  ̄库 f 'g . S格 1打开 一 8 ) 个V 的 标 准E E X ”工程, 把
收 稿 日期 :2 0 —0 l 02 3 7
维普资讯
2 )源程 序及 注 解
Pu l u ei n c va O S AS bj F n t s(d R ADO DB C o
m l m= r e j O e NU F e Fl e
O p n s p r fl F r O u p t As # e Ex o t e i o t u

用代码将access中的数据生成Excel表格导出

用代码将access中的数据生成Excel表格导出

用代码将access中的数据生成Excel表格导出。

下面为代码:以下为引用的内容:<!--#include file="../conn.asp"--><%if session("china_admin")="" then response.redirect "login.asp"dbpath="../"dblinkdim filename,fs,myfile,x,m,n,o,linkSet fs = server.CreateObject("scripting.filesystemobject")Set rs = Server.CreateObject("ADODB.Recordset")session("sql") = "select * from china_car"rs.Open session("sql"),conn,1,1n=1'================================================================== '==============================================================建立e xcel文件系统filename = Server.MapPath("car/CarTable"&n&".xls") '这个是为了方便,新建一个CAR 的文件夹,这个可以自己设啦if fs.FileExists(filename) then'如果文件存在,覆盖它。

fs.DeleteFile(filename)end ifset myfile = fs.CreateTextFile(filename,true)'=================================================================== =====dim strLine,responsestrstrLine=""dim work,j,istr="序号|卡号|密码|积分数|金额"'这个根据你的access数据表字段设置。

使用VBA实现Excel与Access数据的交互

使用VBA实现Excel与Access数据的交互

使用VBA实现Excel与Access数据的交互提要:本文介绍了如何使用VBA(Visual Basic for Applications)编程语言来实现Excel和Access之间的数据交互。

VBA是一种内置于Microsoft Office套件中的编程语言,它可以用于自动化各种任务,包括数据的导入和导出。

通过使用VBA,可以轻松地将Excel和Access的数据进行传输和共享,实现数据的有效管理和分析。

引言:在现代业务环境中,数据的处理和分析变得越来越重要。

Excel和Access都是常用的数据处理工具,它们的结合使用可以增强数据的管理和分析功能。

然而,手动将数据从Excel复制粘贴到Access中是一项费时费力的任务。

通过使用VBA编程语言,我们可以轻松地实现Excel和Access之间的数据交互,将数据的导入和导出自动化,提高工作效率。

一、连接Excel和Access数据库:要实现Excel和Access之间的数据交互,首先需要建立它们之间的连接。

以下是建立连接的步骤:1. 在Excel中,按下“Alt + F11”打开VBA编辑器。

2. 在VBA编辑器中,选择“工具”>“引用”,勾选“Microsoft ActiveX Data Objects X.X Library”。

3. 在Excel的VBA编辑器中,插入一个新的模块。

4. 在模块中编写以下代码来建立与Access数据库的连接:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\database.accdb"```在以上代码中,通过“CreateObject”函数创建了一个名为“conn”的连接对象,并通过“Open”方法打开了一个Access数据库文件(database.accdb)。

用VB实现Excel数据和Access数据之间的转换

用VB实现Excel数据和Access数据之间的转换
方 称 为服 务 器 . 控 制 的 对象 就 是 A t e对 象 。V 被 ci v B正 是 通 过 E . x
大 量 的数 据 导 入 到 大 型 数据 库 中进 行 存 储 管 理 , 使 用 时 凋用 数 在 据库 中数 据 。 而 有 些 程 序 员 则 认 为 大 可l 进 行 大 量数 据 的 导 入 导 出 , 不必 直 接 编 写数 据 库 应用 程序 ,使 用 一 定 代 码 即 可访 问 数 据 库 中 数 据 。
关键 词 : 数据 库 ; B; x e; ces V E c lA c s
中图分类号 : P 1 T31
文献标识码 : A
文章编号 :0 9 3 4 (0 61 — 0 5 0 1 0 - 0 42 0 )4 0 2 - 2
YAN G Xi — a g L U n fn , I Ge
Re l e a som ainBewe nte E c l t n h c s t t ai sTr n f r t t e h x e a a dt eAc e sDaa wi VB z o Da h
fu h ct n l n c ncl l g ,u h 6 0 2Chn ) L o eVo ai a a dTeh ia l e o e4 2 0 , ia o Co e L
摘要 : 目前 不 同 系统 之 间 的数 据 转换 已成 为 各 类 用 户 所 关 心 的 问题 , 文 简要 总 结 了一 些 系统 软 件 在 制 作 报 表 方 面 存 在 的 缺 陷 , 本 并 根据 V B访 问数 据 库 的 特 点 , 绍 了如 何 利 用 VB来 实现 Ace 数据 库 中 的数 据 与 E cl 介 cs s xe 工作 表 中 的数 据 的 互 相调 用 。

用VC6.0编写Word插件(Office2K、XP、03)

用VC6.0编写Word插件(Office2K、XP、03)

用VC6.0编写Wo rd插件(O ffi ce2K、XP、03)作者:hjp hy源代码下载最近因为工作的需要,学习了一下Off ic e插件的编写方法。

在走了不少弯路以后,最后终于把编写插件的原理给搞清楚了,不敢独享,拿出来跟大家共享一下。

下面就以Word 2003为例,向大家简单介绍一下。

第一步,利用向导生成一个AT L COM App Wiz ard的新工程。

图1在向导的第一个对话框中,服务器类型选择Dy na mi c Li nk Li bra ry(DLL),然后单击Fi nish即可。

图2然后,选取菜单Ins ert->N ew AT L Ob je ct项,在弹出的AT L对象向导对话框中选中相应O bj ect s对应右侧的Sim p le Ob j ect 选项,点击下一步。

图3在弹出的对话框中Sho rt Nam e中输入相应名称,点确定完成插入AT L对象。

图4这样一个简单的基于AT L的COM组件工程就建立成功了。

第二步,通过导入类型库来实现_IDT E xt ens ibi l it y2接口。

在C l assVi ew中的新加的类上点鼠标右键,在弹出的右键菜单中选Imp l em ent Int erf ac e项。

图5在弹出的实现接口对话框中点击Ad d T y p elib图6在弹出的Br owse T y p e L ibr ar ies对话框中,选取M ic rosoft Ad d-in D esi gne r(1.0)子项,点OK按钮图7在弹出的接口列表对话框中选中_IDT E xt ens ibi l it y2接口,点OK按钮完成导入这样的话,系统将会自动为你生成空的五个所需接口函数,分别是On Con ne ct ion、OnD isco nn ect i on、O nAddI nsUp dat e、OnSt a rt up Comp let e、On Be gin Shut down。

Accessvba导出数据到Excel方法总结

Accessvba导出数据到Excel方法总结

Accessvba导出数据到Excel方法总结Access vba有各种方法可以导出到Excel,方法大致如下:1、查询导出。

优点:可以根据查询设计(直观) 。

缺点:格式固定。

2、ADO逐条遍历。

优点:写入位置可以灵活控制。

缺点:速度较慢3、CopyFromRecordset 。

优点:速度极快。

缺点:格式固定4、Excel插入QueryTable 。

优点:速度较快,可以汇总5、复制粘贴。

优点:标题、格式等和子窗体一致。

缺点:只能导出数据表显示的子窗体数据1、利用查询导出1.DoCmd.OutputT o acOutputQuery, "具体的查询名称", acFormatXLS, , True执行这条语句,即可把对应的查询导出到Excel文件拓展:1)你也可以根据SQL语句自动创建查询,再导出。

1.CurrentDb.CreateQueryDef "新的查询名称", "SQL语句" '创建查询2)导出之后,你可以删除掉这个查询1.DoCmd.DeleteObject acQuery, "查询名称" '删除查询3)也可以修改当前查询的SQL语句之后,再导出1.Dim qdf As Object 'DAO.QueryDef'2.Set qdf = CurrentDb.QueryDefs("查询名称")3.qdf.SQL = strSQL '设置新的SQL语句'2、ADO逐条遍历这种方法是最传统和最典型的方法,也是最灵活的。

打开一个记录集,然后遍历数据对Excel操作即可。

重点在操作Excel。

1.Dim rs As New ADODB.Recordset2.Dim xlApp As Object 'Excel.Application'3.Dim xlBook As Object 'Excel.Workbook'4.Dim xlSheet As Object 'Excel.Worksheet'5.Set xlApp = CreateObject("Excel.Application")6.Set xlBook = xlApp.Workbooks.Add '添加一个新的Book'7.Set xlSheet = xlApp.ActiveSheet '使用当前的Sheet'8.Dim strSql As String9.Dim i As Long10.strSql="Select * from 表1 where ID<10"11.rs.Open strSql, CurrentProject.Connection, 1, 112.Do While Not rs.EOF13.xlSheet.Cells(2 + i,1)=rs("ID") '从第2行开始写数据'14.xlSheet.Cells(2 + i,2)=rs("FName")15.rs.MoveNext16.i=i+117.Loop18.rs.Close19.xlApp.Visible=True3、CopyFromRecordset导出数据CopyFromRecordset是Excel vba的方法,可以快速把一个记录集的数据填充到Excel单元格中。

VB+Access系统中实现Excel和AcceSS数据库相互导入

VB+Access系统中实现Excel和AcceSS数据库相互导入
“ coot x e . ics Mirsf E c l1 0 Obe t 1
3 主 窗体
主要 包 括 两 个单 选 按 钮 (pin 、o t n )如 图 1 示 。 o t 1 pi 2 o o 所
L rr 系统 库 ia b y P bi f sS r g 保 存 Ac e s文件 名 u l nA ti c n cs P bi f 1A t n 保 存 E c l 件 名 u l n sS r g c i xe文 P bi f c u t t g r 存 A c s u l o n I e e 保 cn As n c e s数 据 库 表 的 字段 数
P bi f lo n sItg r 存 E c l 据 库 表 的 字 段 数 u l u t e e 保 cnc A n xe数
Pu l on w b i c n As Ne ADODB. o n c i n c C n et o
声 明 一个 md b数 据 库 的 连 接
c n . e P o ie =M i r s f .e . L o n Op n“ r vd r c o o tJ t O EDB. . 4 O: Da a S u c =” f t o r e & n& ; e s s e u i n o a s “ P r itS c r y I f =F le t
V Ac es B+ cs 系统中实现 E c l Ac es xe 和 cs 数据库相 互导入
畅 育超
摘 要 : 以 “ 籍 管 理 数 据 库 ” 为 例 ,介 绍 V Ace 学 B+ cs s系统 中 利 用 A DO 记 录 集 实 现 E cl x e 和 A cs 数 据 库 相 互 导 入 的 程 序 设 计 方 法 。 ces

如何利用VB实现Excel数据和Access数据之间的转换

如何利用VB实现Excel数据和Access数据之间的转换

? -@可访问多种数据库
事件驱动型的 A&B<3:. 应用程序开发工具, 它在 CDE 设计、 绘图、 制表、 运算、 通 -@ 是一种可视化的、 F?G 信和多媒体开发方面都具有简单易行、 功能强大等优点, 所以它越来越受到开发人员的青睐 。同时, -@ 在 数 据 库 开 发 方 面 也 具 有 23*453 所 不 能 比 拟 的 强 大 功 能 。 -@ 能 够 读 取 和 访 问 =’’(.. 、 )*’(+ 、 8;0.(H 、
第)卷 第)期 !""# 年 ’ 月
南通航运职业技术学院学报
*+,-./0 +1 ./.2+.3 4+5/26+./0 7 2859.65/0 :96;;6.3 5+00838
4<=>) .<>) :?@>!&# 数据和 /CC?DD 数据之间的转换
邵冬华
(南通航运职业技术学院 教务处, 江苏 南通
第*期
邵冬华: 如何利用 !" 实现 #$%&’ 数据和 (%%&)) 数据之间的轮换
*+
!!!!!!"!#!$ %!!!!!&%’%( %%%%%)*+,-"./+012345"/.6178 班级 89!’!:;<&" %%%%%%%%%=>+"+’+??+@-/< "+’+$ ++++++++&+’+$ ++++++++A<6+=> ++++++++B.1-//24C/..17"D+&9+’+012345"/.617E 课程 F9 ++++++++B.1-//24C/..17"D+&+G+39+’+012?45"/.617012345"/.617F 课程 F99 ++++++++B.1-//24C/..17"D+&+G+H9+’+012345"/.617F 学分 F9 ++++++++A<6+=> ++++++++"+’+"+G+? ++++++++01234I*J/K/B2 ++++++++=>+01234AL5+@-/< ++++++++AB"2+)* ++++++++A<6+=> ++++++M**N O+++++0*P+’+0*P+G+? ++++++B.1-//24C/..1Q?3D+39+’+012?45"/.61QF 学期测评分 F9 ++++++B.1-//24C/..1Q?3D+R9+’+012?45"/.61QF 名次 F9 ++++++012?4I*J/K/B2 ++++++=>+012?4AL5+@-/< ‘ 将报表打印输出 +++++++++B.1-//24S0"<2LT2 AB"2+)* ++++++A<6+=>+++++++++++ ++++M**N ++++012?4C.*1/ +++++++++++01234C.*1/ ++++B.;NN4UT"2 ++++V/2+B.1-//2+’+K*2-"<W +++++++++++V/2+B.;NN+’+K*2-"<W A<6+1T: 图 ? 是打印出的学生成绩表: 南通航运职业技术学院 3XXHY3XXR 学年第一学期成绩单 学号: 姓名: 陈锋 班级: 国运 $X?3 ?Z

利用accessVBA批量输出word文档+ExcelVBA

利用accessVBA批量输出word文档+ExcelVBA

利⽤accessVBA批量输出word⽂档+ExcelVBA 最近忙⼀个⼩项⽬,要求根据已有的历史与现状资料填写对照表格,总共有⼏⼗份,⾥⾯要求填的数据项也很琐碎,⽽且细节上可能会有⼩的变更与修改。

本⼈很懒,最讨厌就是繁琐的⼿⼯劳动与⽆休⽌的改来改去,刚巧有之前⽤数据采集软件⽣成的access数据库,焉能有不加以充分利⽤之理?于是俺就想办法咯。

既然是access与Word,那就⽤传说中的VBA咯,但⽊⽤过,就上Google猛搜…… 终于找到了⽅法:利⽤VBA查询出需要的数据,然后通过word模板批量⽣成对照表格。

综合access软件⽹⽵笛和另外⼀个叫 Access+VBA套打Word+模板(三种⽅法) 的资料,经过数⼩时的调试,终于⼤功告成,啊哈哈哈,⼈民群众的智慧是⽆穷的哦~~~ 过程介绍如下: 1、先把⽤做模板的word表格需插⼊数据项的位置加上书签(Bookmarks)。

数据项多的话,书签最好⽤⽂字标记,并设置书签为显⽰状态,这样⼀⽬了然,不容易出错误。

2、在access新建⼀个窗体,拖⼀个Button上去,触发单击命令,开始在VB编辑器中敲代码…… 3、查询各表得出需要的数据记录集 (Recordset),利⽤循环语句读取每条记录,打开word模板,⽤数据项替换对应的word书签,然后保存。

--------完事⼤吉,批量输出啦,欧拉拉欧拉拉~~~ 代码如下:CodeOption Compare DatabasePrivate Sub cmdExportAll_Click()Dim rownum As IntegerDim I, N As Integer'使⽤DAO操作打开明细记录集Dim rs As DAO.RecordsetDim sqlStr As String'单库多表查询,需事先将数据集中到⼀个mdb中'sqlStr = "Select * from ckq b , yckq a where b.证号=a.证号"'跨库多表查询,连接多个mdb中数据表,不⽤倒腾数据,直接利⽤已有的mdb数据库,⽅便多了~~~sqlStr = "Select * from [;database=" & CurrentProject.Path & "\ckq.mdb].ckq b , [;database=" & CurrentProject.Path & "\yckq.mdb].yckq a where b.证号=a.证号"Set rs = CurrentDb.OpenRecordset(sqlStr)'如果没有记录 , 不执⾏下⾯程序If rs.EOF Then Exit Sub'为了能得到记录总数量,DAO记录集要先把记录集位置移到最后,否则得不到RECORDCOUNTrs.MoveLastrs.MoveFirstrownum = rs.RecordCount'多条数据的处理,使⽤循环For I = 1To rownum'创建Word对象Set doc = CreateObject("word.application")doc.Visible = True'打开Word⽂件Dim mydoc As ObjectSet mydoc = doc.Documents.Add(CurrentProject.Path & "\表格模板.doc") '使⽤定义好的模板创建新⽂件'mydoc.Bookmarks("template_content_en").Range.Text = (rs!测试字段)'(rs.Fiel(ds(0).Name) '(rs.Fields(0).Value)'最后⾯加上 & "" 避免了当字段为NULL时程序出错中断,省却不少代码⾏与⿇烦,真TMD太有⽤了mydoc.Bookmarks("证号").Range.Text = rs.Fields("b.证号").Value & ""mydoc.Bookmarks("项⽬名称").Range.Text = rs.Fields("b.项⽬名称").Value & "" mydoc.Bookmarks("a传真").Range.Text = rs.Fields("a.传真").Value & ""mydoc.Bookmarks("b传真").Range.Text = rs.Fields("b.传真").Value & ""mydoc.Bookmarks("a电话").Range.Text = rs.Fields("a.电话").Value & ""mydoc.Bookmarks("b电话").Range.Text = rs.Fields("b.电话").Value & ""mydoc.Bookmarks("a地址").Range.Text = rs.Fields("a.地址").Value & ""mydoc.Bookmarks("b地址").Range.Text = rs.Fields("b.地址").Value & ""'以下省略N项'.........'.........Select Case rs.Fields("a.项⽬类型").Value & ""Case"1"mydoc.Bookmarks("a1").Range.Text = "√"mydoc.Bookmarks("a2").Range.Text = ""Case"2"mydoc.Bookmarks("a1").Range.Text = ""mydoc.Bookmarks("a2").Range.Text = "√"Case Elsemydoc.Bookmarks("a1").Range.Text = ""mydoc.Bookmarks("a2").Range.Text = ""End Select'以下为坐标数字串,XY坐标分开存储,X11位,Y12位,读取时根据位数截取'mid("1234",2,2)'mid(string,start,len)'Mid("1234", insrt("1234","23"), len("23"))Dim XA, YA, XB, YB As StringXA = rs.Fields("a.经度坐标").Value & ""YA = rs.Fields("a.纬度坐标").Value & ""XB = rs.Fields("b.经度坐标").Value & ""YB = rs.Fields("b.纬度坐标").Value & ""'Dim XYnum As Integer'XYnum = Len(XB) / 11For N = 1To22mydoc.Bookmarks("XA" & N).Range.Text = Mid(XA, N * 11 + 1, 11) & ""mydoc.Bookmarks("YA" & N).Range.Text = Mid(YA, N * 12 + 1, 12) & ""mydoc.Bookmarks("XB" & N).Range.Text = Mid(XB, N * 11 + 1, 11) & ""mydoc.Bookmarks("YB" & N).Range.Text = Mid(YB, N * 12 + 1, 12) & ""Next'If XYnum < 14 Then'For N = XYnum + 1 To 14'mydoc.Bookmarks("XB" & N).Range.Text = ""'mydoc.Bookmarks("YB" & N).Range.Text = ""'Next''Else'End If'保存word⽂档mydoc.SaveAs CurrentProject.Path & "\" & rs.Fields("a.项⽬名称").Value & ".doc"'释放对象变量Set doc = Nothingrs.MoveNextNextrs.CloseEnd Sub 2010年1⽉12⽇,试验了⼀下Excel VBA下的批量输出,代码如下:CodePrivate Sub CommandButton1_Click()Dim I As IntegerFor I = 1To5'rownum '多条数据的处理,使⽤循环'创建Word对象Set doc = CreateObject("word.application")doc.Visible = True'打开Word⽂件Dim mydoc As ObjectSet mydoc = doc.Documents.Add(ActiveWorkbook.Path & "\说明模板.doc") '使⽤定义好的模板创建新⽂件,access中取当前路径为CurrentProject.Path'开始替换书签mydoc.Bookmarks("许可证号").Range.Text = Cells(I + 1, 1).Value & ""mydoc.Bookmarks("法⼈代表").Range.Text = Cells(I + 1, 2).Value & ""mydoc.Bookmarks("地址").Range.Text = Cells(I + 1, 3).Value & ""mydoc.Bookmarks("名称").Range.Text = Cells(I + 1, 4).Value & ""mydoc.Bookmarks("⽇期").Range.Text = Format(Cells(I + 1, 23).Value & "", "yyyy年m⽉d⽇")Dim N&, Dr, Ddr$Dim pathFileSaved As String'指定报表⽣成路径引⽤,正式路径'pathFileSaved = CurrentProject.Path & "\CKQ\410000\" & Cells(I + 1, 1).Value & "\属性数据\说明"'以下为测试路径pathFileSaved = ActiveWorkbook.Path & "\测试输出"'⽂件⽬录不存在的情况下,建⽴⽂件⽬录,⽂件⽬录按 pathFileSavedOn Error Resume NextDr = Split(pathFileSaved, "\")Ddr = Dr(0)For N = 1To UBound(Dr)Ddr = Ddr & "\" & Dr(N)MkDir DdrNextErr.ClearOn Error GoTo0'mydoc.SaveAs pathFileSaved & "\DQK" & Cells(I + 1, 1).Value & ".doc" '正式名称mydoc.SaveAs pathFileSaved & "\" & Cells(I + 1, 4).Value & "DQK" & Cells(I + 1, 1).Value & ".doc"'测试名称'释放对象变量Set doc = NothingNextEnd Sub。

基于VB环境的Access转变为Excel的新方法

基于VB环境的Access转变为Excel的新方法
( . p rme to mp trS in e C l g fS in e He e rh Unv riy h n a o 7 0 0 1 De a t n f Co ue ce c , ol eo ce c , e bi No t ie st ,Z a Nik u0 5 0 ,He e, Chn : bi ia 2 He e e h ia n lcr a n u tyS h o , Zh n a o 7 0 0 He e, Chn ) . b i c nc l d E e ti lId sr c o l M a c a Nik u0 5 0 , bi ia
A w e h d o a g n c s t o Ex e s d o s a sc Ne M t o fCh n i g Ac e s Da a t c lBa e n Viu lBa i
W ANG a - in W ANG a - h n Yu n q a g , Di n s e g
Absr c : U sng t a a c ntolof DATA , ADOX n ta t i he d t o r a d ADODC u le b s a sc, a e s pp i d y Vi u lBa i n w m e ho ha i g t e Ac e s d t iet c li o i d t d ofc ng n h c s a a fl o Ex e s pr v de
Ke r y wo d: V B ; A c e s A DO X ; A DO DC ; E x e c s; cl
随着信 息 技术 和管 理手 段 的不断 发展 和完 善 , 目前 大多 数企业 和 部 门 ,都在 着手解 决信 息化 问题 ,所 以 Viu l aie . s a b s 6 0作 为非 常 的流行 的 面向对象 的编 程语 言 ,由于其具 有 得 强大 的功 能 ,已经被 越来 越 多 c

两种方法完成Access数据库转Excel工作簿

两种方法完成Access数据库转Excel工作簿

两种方法完成Access数据库转Excel工作簿学校希望将本校校友录中收集的校友电子邮件地址以Excel文件的形式提交上去,以方便群发邀请各位校友参加八十周年校庆。

学校校友录数据库是Access的MDB格式,其中包含多个表,校友地址在单独的一个“Student”表中。

这实际上就是要将Access表转换为Excel工作表的形式。

下面我们介绍两种不同的方法完成Access数据库与Excel工作簿转换的工作。

一、在Access数据库中直接导出用Access打开校友录的数据库文件,选中包含校友信息的“student”表,然后单击鼠标右键并选择“导出”命令(如图1)。

在打开的对话框中将“保存类型”改成“Microsoft Excel 97-2003 (*.XLS),然后输入文件名称,单击“导出”按钮,稍后就得到了一个标准的Excel工作簿文件。

注意:在Access程序中还可以轻松将数据库表导出为VF的DBF文件、Paradox的数据库文件、文本文件等多种格式以供调用。

用Excel打开导出得到的文件,将不需要的列删除,只保留姓名和E-mail地址所在的两列(如图2),随后保存,最后将此文件上传给领导审阅即可。

二、用AccessToExcel来帮忙如果对Access数据库操作不熟悉,没关系,可以使用AccessToExcel这款免费软件来帮忙。

AccessTo Excel,顾名思义,就是将Access数据库转换为Excel工作簿。

安装并运行Access ToExcel,单击窗口左上角“导出Access数据库文件”左边的Access图标,在打开的对话框中选择要转换的MDB文件,打开该数据库文件。

提醒:该软件附带提供获取Access数据库密码的功能,但算法不够全面,如果不能获取要打开的数据库密码会弹出提示,请在“Access数据库密码”下手动输入。

单击右侧“数据库操作”标签下的“获取数据库”按钮,稍后将在“数据表名称列表”下显示该数据库中各表的名称(如图3)。

分享:VB6_0 VB导出excel 方法源代码(转载) 百度空间_应用平台

分享:VB6_0 VB导出excel 方法源代码(转载) 百度空间_应用平台
Visual FoxPro
Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=D:\DBF;"
.CursorLocation = adUseClient
闪电新宇的分享分享
VB6.0 VB导出excel 方法源代码(转载)
方法一:
用Msflexgrid的Textmatrix属性取Msflexgrid中每一个单元格的内容,然后填到Excel表中,或者写成CSV格式
方法二:
直接把查询结果导出成Excel工作表
If .RecordCount < 1 Then
MsgBox ("没有记录!")
Exit Function
End If
Dim xlSheet As Object 'Excel.Worksheet
Screen.MousePointer = vbHourglass
On Error GoTo Err_Proc
Set xlApp = CreateObject("Excel.Application")
Exit Sub
Err_Proc:
Screen.MousePointer = vbDefault
MsgBox "请确认您的电脑已安装Excel!", vbExclamation,"提示"
Set xlBook = xlApp.Workbooks().Add
Set xlSheet = xlBook.Worksheets("sheet1")

Access数据导入与导出

Access数据导入与导出

Access数据导入与导出Access是一款微软开发的关系型数据库管理系统,具有简单易用的界面和强大的数据处理能力。

在实际应用中,我们常常需要将数据导入到Access中,或将Access中的数据导出到其他文件格式,以满足不同的需求。

本文将介绍Access数据的导入与导出方法,帮助读者快速完成数据操作。

一、数据导入1. 导入Excel数据导入Excel数据到Access中是常见的需求。

以下是导入Excel数据的步骤:(1)打开Access数据库,在导航栏中选择“外部数据”选项卡;(2)选择“Excel”选项,浏览到相应的Excel文件并选择;(3)根据需求选择导入选项,如表名、数据源购买等;(4)点击“完成”按钮完成导入过程。

2. 导入文本数据如果需要将文本文件导入到Access中,可以按照以下步骤进行:(1)打开Access数据库,在导航栏中选择“外部数据”选项卡;(2)选择“文本文件”选项,浏览到相应的文本文件并选择;(3)根据需求选择导入选项,如数据分隔符、字段格式等;(4)点击“完成”按钮完成导入过程。

3. 导入其他数据库数据Access还支持导入其他数据库系统的数据。

以下是导入其他数据库数据的步骤:(1)打开Access数据库,在导航栏中选择“外部数据”选项卡;(2)选择相应的数据库类型,如SQL Server、Oracle等;(3)根据数据库连接信息配置连接;(4)选择要导入的表或查询,并完成导入过程。

二、数据导出1. 导出数据到Excel将Access中的数据导出到Excel文件是常用的操作。

以下是导出数据到Excel的步骤:(1)打开Access数据库,在导航栏中选择“外部数据”选项卡;(2)选择“Excel”选项,浏览到要导出的Excel文件路径;(3)选择要导出的表或查询,并配置导出选项,如字段映射、导出格式等;(4)点击“完成”按钮完成导出过程。

2. 导出数据到文本文件如果需要将Access中的数据导出到文本文件,可以按照以下步骤进行:(1)打开Access数据库,在导航栏中选择“外部数据”选项卡;(2)选择“文本文件”选项,浏览到要导出的文本文件路径;(3)选择要导出的表或查询,并配置导出选项,如字段分隔符、字符编码等;(4)点击“完成”按钮完成导出过程。

【精品】-浅析利用VB6_0将Access数据表转换为Word文档

【精品】-浅析利用VB6_0将Access数据表转换为Word文档

数据库与信息管理本栏目责任编辑:代影Computer Knowledge and Technology 电脑知识与技术第6卷第23期(2010年8月)浅析利用VB6.0将Access 数据表转换为Word 文档陈军民(江西外语外贸职业学院,江西南昌330099)摘要:将Access 数据表转换为Word 文档,是我们在日常工作过程中经常会碰到的一类问题。

该文通过一个实例,首先介绍利用Office 自带功能的各种方法,以及这些方法所存在的诸多局限;然后详细阐述利用VB6.0编程方法,突破这些局限,转换为用户所需要的Word 文档格式。

关键字:VB6.0;Access ;Word ;办公自动化中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)23-6407-02Analysis Using VB6.0the Access Data Table Convert a Word DocumentCHEN Jun-min(Jiangxi College of Foreign Studies,Nanchang 330099,China)Abstract:The Access data table Convert a Word document,is our daily work,often encountered in the course of a class of problems.In this paper,an example,first introduced the use of Office comes with features a variety of ways,and these methods have many limitations ex -ist;then elaborated using VB6.0programming methods,to break through these limitations,convert user needs Word document format.Key words:VB6.0;Access;Word;Office我们在日常办公过程中,经常会碰到这样的情况,某种软件的后台Access 数据库中含有一些有用的数据信息,这些数据信息只有通过某种特定的软件才能打开使用,但我们在办公过程中经常使用的软件是Word,那我们就会很自然地想到能否将专属于Access 的数据信息转换成用户所需要的Word 文档格式。

利用VB6.0将ACCESS2000数据库转化为EXCEL WORD文件

利用VB6.0将ACCESS2000数据库转化为EXCEL WORD文件
装的是0FFIcE2000,则添加引用“Microsoft word 9.O 0bject “bmry”。再在窗体FoⅡn1上加入5个命令按扭,其标题分别 为“转化为ExCEL文件”、“转化为DBAsE文件”、“转化 为文本文件”、 “转化为HTML文件”、 “转化为WORD文 件”,名称分别为 COMMANDl至c0MMAND5。窗体标题 命名为“AccESS数据库转化系统”。
本例中,使用VB6.0自带的一个数据库Biblio.mdb,将之 拷到当前文件夹下。假设要将字段autllors中数据信息导出, 且导出后的各种文件均存于当前文件夹中。导出后文件名为
“肌tho璐.扩展名”, “扩展名”分别为“XIS”、 “DBF”、
“7ⅨT”、 “H聊”、 “DOC”。
1.建立工程文件 打开VB6.0,新建一个工程文件,命名为“AccESS数据 库转化系统”。在菜单“工程\引用”中,对AccESS97数据
Command 1.EnabIed=FaIse
’判断authors.×LS文件是否存在,存在则删除.以下同. 1f Dir《App.Path & ”\authors.×LS”)<> ~ Then K…
(App.Path&”\authors.XLS”)
db.Execute”SELECT¥lNTO【E×cel 8.0:DATABASE=”&
二、实现过程及原理
本程序除生成w0RD文件外均使用sQL命令:sELEcT。 这样不仅代码简洁,而且执行速度快。sELECT命令如下:
SELECT}IM'o【转化成的数据库文件类型;DA7rABASE= 转化成的数据库存放文件夹及文件名】.【AccEsS数据库文件 夹及文件名】FRoM【Table or Tables】。
WDoc.SaveAs App.Path+”\authors.doc~保存文档 W上oc.CIose 7关闭文档 AppWord Quit’退出Word Set AppWord=Nothing

将Access数据库中图文信息导出到Word文档的方法

将Access数据库中图文信息导出到Word文档的方法

将Access数据库中图文信息导出到Word 文档的方法作者:车光宏来源:《电脑知识与技术》2009年第33期摘要:该文介绍了将Access数据库中的图文混编内容导出到Word文档的方法,并给出了用Visual Basic 6.0实现的程序实例。

关键词:Access Database;图像;导出;Word Document中图分类号:TP317文献标识码:A文章编号:1009-3044(2009)33-9121-02Exporting the Method of Graphic Information on the Access Database to Word DocumentCHE Guang-hong(School of Information Engineering, Anhui University of Finance & Economics, Hefei 233041, China)Abstract: Introduced a method of the contents of the graphic mixed on Access database exported to Word documents,and gives Example program using Visual Basic 6.0.Key words: Access Database; graphic; export; word document1 问题的提出最近,在工作中遇到了这样一个问题:需要将Access数据库的一些表中的内容导出到Word 文档,但这些表中有备注型字段,其中存放着图文混编的信息。

麻烦的是简体中文版OfficeXP和Office2003中的Access都没有提供直接将这种类型字段的数据按原格式导出到Word(或RTF格式)文档的功能(更高版本的Office有无此种功能?)。

使用Access的导出功能将表导出为RTF文件时,所有备注型字段的内容均呈现为“乱码”。

如何把access数据库的内容导出到work文档中

如何把access数据库的内容导出到work文档中

如何把access数据库的内容导出到work文档中回答:如何用VB编写程序实现把access数据库的内容导出到work文档中进行编辑打印?回答:VB数据库导出WORD这里的数据库采用的是ACCESS生成的MDB数据库。

考虑到在VB中画表等操作比较繁琐,所以采用了饮用模版的导出形式。

仅供大家学习参考。

DimcnAsNewADODB.Connection‘定义数据库DimrsAsNewADODB.RecordsetDimscanAsString‘存储查找数据库DimAppwordAsWord.Application’定义WORD模型变量DimNewwordAsWord.DocumentSetAppword=NewWord.ApplicationSetNewword=Appword.Documents.Add(App.Path "\stencil" "\stencil.doc")‘这里是打开模版文档。

stencil是模板的意思。

可根据自己的需要替换。

Appword.Visible=False‘隐藏WORD。

导出时不在任务栏出现WORD文档。

Appword.WindowState=wdWindowStateMinimizescan=text2(0).Text'按编号搜索需要导出word的记录,一次只能导出一条记录rs.CursorLocation=adUseClientConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" App.Path"\data.mdb;JetOLEDB:DatabasePassword=harry2000"cn.OpenConnectionStringrs.Open"select*fromADMINwhere编号='"&scan&"'",cn,adOpenKeyset,adLockOptimistic‘查找需要导出的记录Ifrs.RecordCount=0Then’如果不存在该记录MsgBox"请在左边选择需要导出的记录"Appword.Documents.CloseAppword.QuitExitSubElse‘如果存在记录则运行以下代码WithNewword’设置模版表格和在表格中填入数据库内容。

VB6.0导出excel方法源代码

VB6.0导出excel方法源代码

VB6.0导出excel⽅法源代码VB6.0 导出excel ⽅法源代码⽅法⼀:⽤Msflexgrid的Textmatrix属性取Msflexgrid中每⼀个单元格的内容,然后填到Excel表中,或者写成CSV格式⽅法⼆:直接把查询结果导出成Excel⼯作表Public Sub Export(formname As Form, flexgridname As String)Dim xlApp As Object 'Excel.ApplicationDim xlBook As Object 'Excel.WorkbookDim xlSheet As Object 'Excel.WorksheetScreen.MousePointer = vbHourglassOn Error GoTo Err_ProcSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)'Begin to fill data to sheetDim i As LongDim j As IntegerDim k As IntegerWith formname.Controls(flexgridname)For i = 0 To .rows - 1k = 0For j = 0 To .Cols - 1If .colwidth(j) > 20 Or .colwidth(j) < 0 Thenk = k + 1xlSheet.Cells(i + 1, k).Value = "'" & .TextMatrix(i, j)End IfNext jNext iEnd WithxlApp.Visible = TrueScreen.MousePointer = vbDefaultExit SubErr_Proc:Screen.MousePointer = vbDefaultMsgBox "请确认您的电脑已安装Excel!", vbExclamation,"提⽰"End Sub===================================Public Function ExporToExcel(strOpen As String)'*********************************************************'* 名称:ExporToExcel'* 功能:导出数据到EXCEL'* ⽤法:ExporToExcel(sql查询字符串)'*********************************************************Dim Rs_Data As New ADODB.RecordsetDim Irowcount As IntegerDim Icolcount As IntegerDim cn As New ADODB.ConnectionDim xlApp As New Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim xlQuery As Excel.QueryTableWith Rs_DataIf .State = adStateOpen Then.CloseEnd If.ActiveConnection = "provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF; SourceDB=D:\DBF;".CursorLocation = adUseClient.CursorType = adOpenStatic.Source = strOpen.OpenEnd WithWith Rs_DataIf .RecordCount < 1 ThenMsgBox ("没有记录!")Exit FunctionEnd If'记录总数Irowcount = .RecordCount'字段总数Icolcount = .Fields.CountEnd WithSet xlApp = CreateObject("Excel.Application")Set xlBook = NothingSet xlSheet = NothingSet xlBook = xlApp.Workbooks().AddSet xlSheet = xlBook.Worksheets("sheet1")xlApp.Visible = True'添加查询语句,导⼊EXCEL数据Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1")) xlQuery.FieldNames = True '显⽰字段名xlQuery.RefreshxlApp.Application.Visible = TrueSet xlApp = Nothing '"交还控制给ExcelSet xlBook = NothingSet xlSheet = NothingEnd Function=============================='*********************************************************'* 名称:OutDataToExcel'* 功能:将MsFlexGrid控件中显⽰的内容输出到Excel表格中进⾏打印'*********************************************************Public Sub OutDataToExcel(Flex As MSFlexGrid) '导出⾄ExcelDim s As StringDim i As IntegerDim j As IntegerDim k As IntegerOn Error GoTo ErtMe.MousePointer = 11Dim Excelapp As Excel.ApplicationSet Excelapp = New Excel.ApplicationOn Error Resume NextDoEventsExcelapp.SheetsInNewWorkbook = 1Excelapp.Workbooks.AddExcelapp.ActiveSheet.Cells(1, 3) = sExcelapp.Range("C1").SelectExcelapp.Selection.Font.FontStyle = "Bold"Excelapp.Selection.Font.Size = 16With Flexk = .RowsFor i = 0 To k - 1For j = 0 To .Cols - 1DoEventsExcelapp.ActiveSheet.Cells(3 + i, j + 1) = "'" & .TextMatrix(i, j)Next jNext iEnd WithMe.MousePointer = 0Excelapp.Visible = TrueExcelapp.Sheets.PrintPreviewErt:If Not (Excelapp Is Nothing) ThenExcelapp.QuitEnd IfEnd Sub⼀个按钮,点击出现对话框(对话框控件已经有),在硬盘⾥⾯查找excel⽂件(当然,后缀名是xls了),找到⽬标excel⽂件后,该excel⽂件⾥⾯是⼀些数据,点击确定,就可以把excel⾥⾯的内容保存到MSFlexGrid控件⾥⾯了还有⼀个,按钮,点击后出现对话框,可以保存MSFlexGrid⾥⾯的东西到⼀个excel⾥⾯谢谢⼤家了⽤CommonDialog可以解决选定打开.xls⽂件问题然后就是读取进去哈哈保存代码如下'添加command控件⼀个MSFlexGrid控件⼀个Private Sub Command1_Click()On Error Resume NextDim fileadd As StringCommonDialog1.ShowOpenCommonDialog1.Filter = "xls⽂件(*.xls)|*.xls" '选择你要的⽂件fileadd = CommonDialog1.FileNameMSHFlexGrid1.Redraw = False '关闭表格重画,加快运⾏速度Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象Set xlBook = xlApp.Workbooks.Open(fileadd) '打开已经存在的EXCEL⼯件簿⽂件xlApp.Visible = True '设置EXCEL对象可见(或不可见)Set xlsheet = xlBook.Worksheets("Sheet1") '设置活动⼯作表For R = 0 To MSHFlexGrid1.Rows - 1 '⾏循环For C = 0 To MSHFlexGrid1.Cols - 1 '列循环MSHFlexGrid1.Row = RMSHFlexGrid1.Col = CxlBook.Worksheets("Sheet1").Cells(R + 1, C + 1) = MSHFlexGrid1.Text '保存到EXCEL Next C Next RMSHFlexGrid1.Redraw = TruexlApp.DisplayAlerts = False '不进⾏安全提⽰'Set xlsheet = Nothing'Set xlBook = Nothing'xlApp.Quit'Set xlApp = NothingEnd Sub。

如何将Access数据库里的表内容导出到Excel

如何将Access数据库里的表内容导出到Excel

如何将Access数据库里的表内容导出到ExcelPublic Function ExporToExcel(strOpen As String)'********************************************************* '* 名称:ExporToExcel'* 功能:导出数据到EXCEL'* 用法:ExporToExcel(sql查询字符串)'********************************************************* Dim Rs_Data As New ADODB.RecordsetDim Irowcount As IntegerDim Icolcount As IntegerStbInfo ("正在联系EXCEL,准备创建并定义工作表...")Dim xlApp As New Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetDim xlQuery As Excel.QueryTableOn Error Resume NextWith Rs_DataIf .State = adStateOpen Then.CloseEnd If.ActiveConnection = cn.CursorLocation = adUseClient.CursorType = adOpenStatic.LockType = adLockReadOnly.Source = strOpen.OpenEnd WithStbInfo ("正在向excel的工作表中添加数据...请稍候...")With Rs_DataIf .RecordCount < 1 ThenMsgBox "没有记录可以导出,请确认数据源记录是否为空!", vbInformation, "错误:"Exit FunctionEnd If'记录总数Irowcount = .RecordCount'字段总数Icolcount = .Fields.CountEnd WithSet xlApp = CreateObject("Excel.Application")Set xlBook = NothingSet xlSheet = NothingSet xlBook = xlApp.Workbooks().AddSet xlSheet = xlBook.Worksheets("sheet1")xlApp.Visible = True'添加查询语句,导入EXCEL数据Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a2"))With xlQuery.FieldNames = True.RowNumbers = False.FillAdjacentFormulas = False.PreserveFormatting = True.RefreshOnFileOpen = False.BackgroundQuery = True.RefreshStyle = xlInsertDeleteCells.SavePassword = True.SaveData = True.AdjustColumnWidth = True.RefreshPeriod = 0.PreserveColumnInfo = TrueEnd WithxlQuery.FieldNames = True '显示字段名xlQuery.RefreshWith xlSheet.Range(.Cells(1, 1), .Cells(1, Icolcount + 1)) = "微软雅黑".Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Size = 14.Range(.Cells(1, 2), .Cells(1, Icolcount)).Font.Bold = True'.Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount + 1)).Font.Size = 10.Columns.Width = 300'标题字体加粗.Range(.Cells(2, 1), .Cells(Irowcount + 2, Icolcount)).Borders.LineStyle = xlContinuous.Range(.Cells(2, 1), .Cells(Irowcount + 2, Icolcount)) = "微软雅黑".Range(.Cells(2, 1), .Cells(Irowcount + 2, Icolcount)).Font.Size = 9'.Range(.Cells(2, 1), .Cells(Irowcount + 2, Icolcount)).Font.Color = vbRed'设表格边框样式End WithIf CirPickPlt = False ThenxlSheet.Cells(1, 1) = XlsTitle '自定义表头End IfxlApp.Application.Visible = TrueIf Prt = True Then xlApp.Worksheets.PrintPreviewxlApp.DisplayAlerts = FalseSet xlApp = Nothing '"交还控制给ExcelSet xlBook = NothingSet xlSheet = NothingxlApp.QuitEnd Function。

浅析利用VB6.0将Access数据表转换为Word文档

浅析利用VB6.0将Access数据表转换为Word文档

浅析利用VB6.0将Access数据表转换为Word文档
陈军民
【期刊名称】《电脑知识与技术》
【年(卷),期】2010(006)023
【摘要】将Access数据表转换为Word文档,是我们在日常工作过程中经常会碰
到的一类问题.该文通过一个实例,首先介绍利用Office自带功能的各种方法,以及
这些方法所存在的诸多局限;然后详细阐述利用VB6.0编程方法,突破这些局限,转换为用户所需要的Word文档格式.
【总页数】2页(P6407-6408)
【作者】陈军民
【作者单位】江西外语外贸职业学院,江西,南昌,330099
【正文语种】中文
【中图分类】TP311
【相关文献】
1.利用VB6.0及ACCESS2000建立露天矿运输设备管理系统 [J], 梁刚;任占君;黄小生
2.如何利用VB6.0存取Access中的图像数据 [J], 符钰;刘永胜
3.利用VB6.0将ACCESS97/2000数据库转化为EXCEL、DBASE、TXT、HTML、WORD文件 [J], 单天兵;王进
4.基于VB6.0将PowerPoint演示文稿转换为Word文档 [J], 陈军民
5.利用VBA将批量word文档转换为jpg文件 [J], 毛战军
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作者单位:
刊名:
电脑编程技巧与维护
英文刊名:
COMPUTER PROGRAMMING SKILLS & MAINTENANCE
年,卷(期):
2002(11)
本文链接:/Periodical_dnbcjqywh200211003.aspx
Set AppWord=CreateObject(”Word.AppIlcation”) lf AppWord ls Nothjng Then
MsgBox”不能启动Word,程序将结束.”
End
End If End If
AppWord Visib}e=False faIse使Word不可见.为True,则 可见 Set WDoc=New Word Document 7创建新文档 W上oc.Activate 7使新创建的文档成为可操作的文档 W』oc.ActiveWindow.Selection.Font.Size=1 2’设置字体 VV—poc.ActiveWindow.Selection.Font.Colorlnde×= vbBlack ’将字体颜色设置为黑色 W—poc.ActiVeWindow.Selection.TabIes.Add Range:=Se— lection.Range,NumRows:=rowl,NumCo Jumns:=coll 7设 置表格范围
Then Ki|I
(ADp.Path&”\authors DBF”)
db.E”&
App.Path&”\】.【authors.DBF】FROM.【authors】” Command2.Enabled=True
End Sub
Private Sub Command3jlick¨’生成文本文件
2.代码及注解
Option Explic.t
Dim db As D;tabase
P r|vate Sub FOrm Load《)
Set db=Workspaces(0).OpenDatabase(App.Path& ”\ Biblio mdb”)
End Sub Pr|vate Sub Commandl jIick()’生成EXCEL文件
End Sub
刚vate Sub Command4工Iick{)’生成HTML文件
COmmand4.Enabied=False If Dir(App.Path & ”\authors.HTM”)<>”” Then K…
(App Path&”\authors.HTM”)
db.Execute”SELECT木{N丁O【HTML E×port:DATABASE=”
二、实现过程及原理
本程序除生成w0RD文件外均使用sQL命令:sELEcT。 这样不仅代码简洁,而且执行速度快。sELECT命令如下:
SELECT}IM'o【转化成的数据库文件类型;DA7rABASE= 转化成的数据库存放文件夹及文件名】.【AccEsS数据库文件 夹及文件名】FRoM【Table or Tables】。
&App.Path&”\】.【authors.HTM】FROM【authors】”
Command4.Enabled =True

万方数据
End Sub
刚vate Sub Command5-c Jick{)7生成Word文件 Dim As Integer.k As Integer,obj As Object Dim co|1 As Integer 7coll为字段数 Djm rowl As Integer rowl为记录数
注:源代码压缩包中,为了使Biblio.mdb文件小一些,本 人将其除表authors外全部删除,且authors也只留前51个记 录。
(收稿日期:2002年7月5日)

万方数据
利用VB6.0将ACCESS97/2000数据库转化为EXCEL、DBASE、
TXT、HTML、WORD文件
作者:
单天兵, 王进
App.Path&”\authors.×LSl.【authors】FROM【authors】” Commandl.Enabled=True
End Sub
刚vate Sub Command2工lick{)’生成DBASE文件
Command2.Enabled=FaIse
””
If Dir《App.Path & ”\authors.DBF“)<>
装的是0FFIcE2000,则添加引用“Microsoft word 9.O 0bject “bmry”。再在窗体FoⅡn1上加入5个命令按扭,其标题分别 为“转化为ExCEL文件”、“转化为DBAsE文件”、“转化 为文本文件”、 “转化为HTML文件”、 “转化为WORD文 件”,名称分别为 COMMANDl至c0MMAND5。窗体标题 命名为“AccESS数据库转化系统”。
一、引言
为了满足用户不同的需求,充分利用AccEss数据库中的 数据,经常需要将AccEss数据库文件导出到各种不同类型的 文件中, 如ExcEL(.xLS)、wORD(.D0c)、DBASE
(.DBF)、文本文件(.7ⅨT)、HTML(.HTM)。本文通过 使用VB6.O+sP5在windows98sE下编程实现此功能。
Next k tabIel.MoveNext
LOOD
i=1
For Each obj ln ActiVeDocument.Tables{1).Range.Celis obj.Range.InsertBefore Te×t:=arr(i)’将线性数组arr的
值依次读进Word表格中
i=i+1 Next obi
本例中,使用VB6.0自带的一个数据库Biblio.mdb,将之 拷到当前文件夹下。假设要将字段autllors中数据信息导出, 且导出后的各种文件均存于当前文件夹中。导出后文件名为
“肌tho璐.扩展名”, “扩展名”分别为“XIS”、 “DBF”、
“7ⅨT”、 “H聊”、 “DOC”。
1.建立工程文件 打开VB6.0,新建一个工程文件,命名为“AccESS数据 库转化系统”。在菜单“工程\引用”中,对AccESS97数据
Schem.ini已存在,则在其文件后追加相关记录。
(3)形成文本文件时,文本文件的格式为csv文件格 式,中间用逗号隔开。
4.程序运行(界面如下图所示)
在界面中,你可选择所需转换的格式,单击相应按扭,即 可转化成对应的文件。
三、总结说明
本程序实现过程中,对生成ExCEL、DBASE、文本、 }r】['ML等四类文件采用sQL命令:sELECT语句,速度较快。 而生成w0RD文件时,由于需逐条记录、逐个字段导入,速 度极慢。如哪位仁兄有更好的见解或方法,请不吝赐教,本人 的E—Mail:ytsh姐tb@)rumatou.com。
Command 1.EnabIed=FaIse
’判断authors.×LS文件是否存在,存在则删除.以下同. 1f Dir《App.Path & ”\authors.×LS”)<> ~ Then K…
(App.Path&”\authors.XLS”)
db.Execute”SELECT¥lNTO【E×cel 8.0:DATABASE=”&
库添加引用“Microsoft DA0 3.5l Object Lib呻”,对于Ac-
cEss2000数据库则需要添加引用“Microsoft DA0 3.6 0bject
Ⅱb唧”,用以访问ACCESS数据库。再添加引用“Micmsoft word 8.0 0bject“b呻”,用以形成wORD文档。如机上安
WDoc.SaveAs App.Path+”\authors.doc~保存文档 W上oc.CIose 7关闭文档 AppWord Quit’退出Word Set AppWord=Nothing
Command5.Enabled=True End Sub
3.注意事项 (1)“autllors.扩展名”事先不可存在,否则会产生错 误!在程序中使用VB函数DIR(),加入简单判断功能(如存 在则将其删除)。 (2)产生“authors.戗t”和“authoIs.htm”时会自动产生 一文件:schema.ini,记录相关的转换信息。格式为: 【authors.HTM】 COlNameHeader=True CharacterSet=936 FOrmat=HTML Coll=Au^jD Jnteger Col2=Author Char Width 50 COl3=”Year Bom”Short 形成“autllors.投t”或“autho璐.htm”文件时,若
Dim tabIel As Recordset Dim AppWord As Word.AppficatiOn Dim Vv_Doc As Word.Document Djm ThisRange As Range Command5.EnabIed=FaIse
Set tabIel=db.OpenRecordset(”authors”,dbOpenTabIe) coll =tabIel.FieIds.Count rowl =tablel.RecordCount ReDim arr《co|1 木rowl) If AppWord ls Nothing Then
Command3.EnabIed=Fa|se
””
If Dir(App.Path & “\authors.TxT) <>
Then K…
(App Path&”\authors.T×T”) db.E×ecute ”SELECT 半 lNTO 【Text:DATABASE=”&
App.Path&“\].【authors.T×T】FROM【authors】” Command3.EnabIed=True
i=1
’将表authors中记录以字段顺序放于线’性数组aar中 Do WhiIe Not tablel EOF
相关文档
最新文档