利用VB6.0将ACCESS2000数据库转化为EXCEL WORD文件
利用VB6实现Access数据库到Excel的数据导入
。开始 输 出 与格 式 转 换 ”
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表格导出。
下面为代码:以下为引用的内容:<!--#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(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数据之间的转换
大 量 的数 据 导 入 到 大 型 数据 库 中进 行 存 储 管 理 , 使 用 时 凋用 数 在 据库 中数 据 。 而 有 些 程 序 员 则 认 为 大 可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编写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方法总结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数据库相互导入
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数据之间的转换
? -@可访问多种数据库
事件驱动型的 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 最近忙⼀个⼩项⽬,要求根据已有的历史与现状资料填写对照表格,总共有⼏⼗份,⾥⾯要求填的数据项也很琐碎,⽽且细节上可能会有⼩的变更与修改。
本⼈很懒,最讨厌就是繁琐的⼿⼯劳动与⽆休⽌的改来改去,刚巧有之前⽤数据采集软件⽣成的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的新方法
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工作簿学校希望将本校校友录中收集的校友电子邮件地址以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 方法源代码(转载) 百度空间_应用平台
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数据的导入与导出方法,帮助读者快速完成数据操作。
一、数据导入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文档
数据库与信息管理本栏目责任编辑:代影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自带的一个数据库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 文档的方法作者:车光宏来源:《电脑知识与技术》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文档中回答:如何用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 ⽅法源代码⽅法⼀:⽤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数据库里的表内容导出到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文档
陈军民
【期刊名称】《电脑知识与技术》
【年(卷),期】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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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