怎么对access数据库数据进行导入导出

chenchengyun 2004-01-13 02:06:36
查了很多例子好像没有好的方案
请各位出下手啦
要要求是:
在一部机上导出一定条件的数据(可保存为TXT文件,或INI文件)
通过介质发到另一部机子上再导进去
数据结构相同:)
...全文
219 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
HenryXiaoY 2004-07-27
  • 打赏
  • 举报
回复
从网页文件导入到数据库中呢?
HenryXiaoY 2004-07-27
  • 打赏
  • 举报
回复
好东西,学习!
华芸智森 2004-01-31
  • 打赏
  • 举报
回复
使用 RS。SAVE
kbkingbird 2004-01-17
  • 打赏
  • 举报
回复
需要学西的东西太多了~~
lzpsky 2004-01-17
  • 打赏
  • 举报
回复
见世面!
学习了!
啊维 2004-01-17
  • 打赏
  • 举报
回复
这此我前几过月试过,可以的
lk_cool 2004-01-17
  • 打赏
  • 举报
回复
学习了
girl888 2004-01-15
  • 打赏
  • 举报
回复
SQL Server怎么导入导出啊,好像这个方法不行啊
chenchengyun 2004-01-13
  • 打赏
  • 举报
回复
zjcxc(邹建) 你的办法通过了,谢谢
还想问下 HDR=YES 是什么意思,还有,如果文件已存在,就出错是不是只能另外处理了
小马哥,相信你的也行,给分了
yoki 2004-01-13
  • 打赏
  • 举报
回复
Private Sub mdbTotxt(sAccessFullFileName As String, sTxtPath As String, sTxtFileName As String, sAccessTable As String)
'此过程将ACCESS文件转化为文本文件
'调用:Call mdbTotxt("c:\temp.mdb", "c:\","test.txt",table1)
'结果:将c:\temp.mdb中的table1表导出到c:\test.txt中
Dim db As DAO.Database
Set db = Workspaces(0).OpenDatabase(sAccessFullFileName)
db.Execute "SELECT * INTO [Text;DATABASE=" & sTxtPath & "].[" & sTxtFileName & "] FROM [" & sAccessTable & "]"
End Sub

Private Sub TxtToMdb(sTxtPath As String, sTxtFileName As String, sAccessFullFileName As String,sAccessTable As String)
'功能:将文本文件导入到Access中的表
'调用:Call TxtToMdb("c:\","test.txt","c:\a.mdb","NewTempTable")
'结果:将c:\test.txt导入到c:\a.mdb中的NewTempTable表中

Dim db As DAO.Database

Set db = DBEngine.CreateDatabase(sAccessFullFileName, dbLangGeneral)
If Err.Number = 3204 Then
Set db = Workspaces(0).OpenDatabase(sAccessFullFileName)
End If
db.Execute "SELECT * into " & sAccessTable & " FROM [Text;HDR=NO;DATABASE=" & sTxtPath & "]." & sTxtFileName
db.Close
Set db = Nothing
End Sub


或者:

Dim db As DAO.Database
Dim tbl As DAO.TableDef

On Error Resume Next
Set db = DBEngine.CreateDatabase("c:\a.mdb", dbLangGeneral)
If Err.Number = 3204 Then
Set db = Workspaces(0).OpenDatabase("c:\a.mdb")
End If
Set tbl = db.CreateTableDef("Temp")
tbl.Connect = "Text;database="c:\"
tbl.SourceTableName = "test#txt"
db.TableDefs.Append tbl
db.TableDefs.Delete "NewTempTable"
db.Execute "select temp.* into NewTempTable from temp"
db.TableDefs.Delete tbl.Name
db.Close
Set tbl = Nothing
Set db = Nothing
chenchengyun 2004-01-13
  • 打赏
  • 举报
回复
虽然还没试过,但你我还是很相信,先谢谢先,试过后给分
cso 2004-01-13
  • 打赏
  • 举报
回复
在很多 VB 的MDB文件书籍中,都会很完整的提到:如何由其他种类的文件中將资料导入MDB文件,但是却很少有书提到:如何將MDB文件中的资料,导出到各种不同的文件类型的文件中,连 VB 的 Help 中也是这样!

或许是大家都认为MDB文件主题的重点是在MDB文件本身吧!

但是,在实际的MDB文件程式運用中,却常常需要將MDB文件导出到各种不同的文件类型的文件中,这些文件可能是 DBase文件、文本文件 (.Txt)、Excel 文件、Html 文件、Access 文件或其他类型的MDB文件文件 (ODBC)...等。

在本主题中,考虑到並不是每一个人都有 Oracle 或 SQL Server 的环境,为了让大家都能夠实行,我们將以 Access MDB文件来作练习,而练习的文件也使用 VB 本身提供的 Biblio.mdb (位于各版本 VB 的目录下)。

预计要练习导出的文件类型有五种:DBase文件、文本文件 (.Txt)、Html 文件、Excel 文件、Access 文件。除了这五种之外,下面的命令可以將MDB文件导出到任一种 VB 支持的MDB文件或文件中。

在练习之前,要將导出文件的 SQL 命令先说明一下:

SELECT Table.Fields INTO [dbms type;DATABASE=path].[unqualified filename] FROM [Table or Tables]
SELECT Table.Fields INTO [MDB文件种类;DATABASE=MDB文件路径].[MDB文件文件名称] FROM [Table or Tables]

至于【MDB文件种类】及【MDB文件路径】,视MDB文件或文件类型之不同而异,详见【注一】。
如果上面说的都清楚了,那我们要开始这一个练习了!

在 Form 上放置一个 CommandButton,加入 Microsoft DAO 3.51 Object Library,我们將使用 Biblio.mdb 的 authors Table,在 Command1_Click 中加入以下程序代码:

Dim db As Database
Set db = Workspaces(0).OpenDatabase(App.Path & "\biblio.mdb")
'db.execute "SELECT Table.Fields INTO [dbms type;DATABASE=path].[unqualified filename] FROM [Table or Tables]"

在以上程式中,db.execute 指令行之指令依MDB文件或文件的种类说明如下:

一、DBase文件

SQL 命令:SELECT * INTO [dBase III;DATABASE=MDB文件路径].[dbase文件名称] FROM [authors]
db.Execute "SELECT * INTO [dBase III;DATABASE=C:\test].[authors.DBF] FROM [authors]"
注意事項:
1、authors.DBF 事先不可存在,否则会产生错误!
2、若您沒有 Dbase,您可以使用 Access 来连結这个 Table,以便观察結果!

二、文本文件 (.Txt)

SQL 命令:SELECT * INTO [Text;DATABASE=文本文件路径].[文本文件名称] FROM [authors]
db.Execute "SELECT * INTO [Text;DATABASE=C:\test].[authors.TXT] FROM [authors]"
注意事項:
1、authors.TXT 事先不可存在,否则会产生错误!
2、此命令会产生的文件有二个,第一个就是文本文件 authors.TXT,第二个是 Schema.ini。
3、文本文件之格式为 CSV 之文件格式,以逗点分开,实际呈现方式如下:

  "Au_ID","Author","Year Born"
  1,"Jacobs, Russell",1950
  2,"Metzger, Philip W.",1942

4、Schema.ini 若事先不存在会新产生一个,若已存在,则会在原文件后面直接 Append。
5、至于 Schema.ini 的內容为此次导出的相关资讯,格式同一般的 Ini 档,详細內容如下:

  [authors.TXT]
  ColNameHeader=True
  CharacterSet=OEM
  Format=CSVDelimited
  Col1=Au_ID Integer
  Col2=Author Char Width 50
  Col3="Year Born" Short

三、Html 文件

SQL 命令:SELECT * INTO [Excel 8.0;DATABASE=Html文件路径].[Html文件名称] FROM [authors]
db.Execute "SELECT * INTO [HTML Export;DATABASE=C:\test].[authors.HTM] FROM [authors]"
注意事項:
1、authors.HTM 事先不可存在,否则会产生错误!
2、此命令会产生的文件有二个,第一个就是文本文件 authors.HTM,第二个是 Schema.ini。
3、Schema.ini 若事先不存在会新产生一个,若已存在,则会在原文件后面直接 Append。
4、至于 Schema.ini 的內容为此次导出的相关资讯,格式同一般的 Ini 档,详細內容如下:

  [authors.HTM]
  ColNameHeader=True
  CharacterSet=ANSI
  Format=HTML
  Col1=Au_ID Integer
  Col2=Author Char Width 50
  Col3="Year Born" Short

四、Excel 文件

SQL 命令:SELECT * INTO [Excel 8.0;DATABASE=文件路径+档名].[工作表名称] FROM [authors]
db.Execute "SELECT * INTO [Excel 8.0;DATABASE=C:\test\authors.XLS].[authors] FROM [authors]"
注意事項:
1、authors.XLS 可事先存在,也可以不存在,会自动产生一个。
2、工作表 authors 事先不可存在,否则会产生错误!

五、Access 文件

SQL 命令:SELECT * INTO [新MDB文件路径+档名][新表名称] FROM [authors]
'导出到同一MDB文件 ( 新 Table 为 authors1 )
'新 Table authors1 事先不可存在,否则会产生错误!
db.Execute "SELECT * INTO [authors1] FROM [authors]"
'导出到不同的MDB文件 ( 新MDB文件为 db1,新 Table 为 authors )
'新MDB文件 db1事先必須存在,否则会产生错误!
'但是其中新 Table authors 事先不可存在,否则会产生错误!
db.Execute "SELECT * INTO [C:\test\db1.mdb].[authors] FROM [authors]"

 

注一:各种可能的MDB文件种类 Connect 属性設定方式:

MDB文件种类 MDB文件宣告方式 MDB文件路径 (或加上档名)
Microsoft Jet Database [database]; drive:\path\filename.mdb
dBASE III dBASE III; drive:\path
dBASE IV dBASE IV; drive:\path
dBASE 5 dBASE 5.0; drive:\path
Paradox 3.x Paradox 3.x; drive:\path
Paradox 4.x Paradox 4.x; drive:\path
Paradox 5.x Paradox 5.x; drive:\path
Microsoft FoxPro 2.0 FoxPro 2.0; drive:\path
Microsoft FoxPro 2.5 FoxPro 2.5; drive:\path
Microsoft FoxPro 2.6 FoxPro 2.6; drive:\path
Microsoft Visual FoxPro 3.0 FoxPro 3.0; drive:\path
Microsoft Excel 3.0 Excel 3.0; drive:\path\filename.xls
Microsoft Excel 4.0 Excel 4.0; drive:\path\filename.xls
Microsoft Excel 5.0 or Microsoft Excel 95 Excel 5.0; drive:\path\filename.xls
Microsoft Excel 97 Excel 8.0; drive:\path\filename.xls
Lotus 1-2-3 WKS and WK1 Lotus WK1; drive:\path\filename.wk1
Lotus 1-2-3 WK3 Lotus WK3; drive:\path\filename.wk3
Lotus 1-2-3 WK4 Lotus WK4; drive:\path\filename.wk4
HTML Import HTML Import; drive:\path\filename
HTML Export HTML Export; drive:\path
Text Text; drive:\path
ODBC ODBC;
DATABASE=database;
UID=user;
PWD=password;
DSN= datasourcename;
[LOGINTIMEOUT=seconds;] None
Microsoft Exchange Exchange 4.0;
MAPILEVEL=folderpath; [TABLETYPE={ 0 | 1 }];[PROFILE=profile;]
[PWD=password;]
[DATABASE=database;] drive:\path\filename.mdb
zjcxc 2004-01-13
  • 打赏
  • 举报
回复
--导出为文本文件

SELECT * into [Text;HDR=YES;DATABASE=C:\].test.txt from 表

--从文本文件导入
insert into 表 SELECT * from [Text;HDR=YES;DATABASE=C:\].test.txt

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧