精通MS-ACCESS SQL之基础篇(18)
时 间:2017-12-07 17:25:08
作 者:Big Young ID:252 城市:襄阳
摘 要: 在MS ACCESS中利用SQL查询实现ACCESS库表与DBF表间的转换。
正 文:
第十八节 SQL查询实现ACCESS库表与DBF表间的转换
“DBF”是“DataBase File”,即数据库文件的意思,“*.dbf”格式的文件是dBase、FoxBase和FoxPro所使用的数据库格式,在Visual Foxpro中称作自由表。DBF格式数据库是常用的桌面型数据库,作为一个在商业应用中的结构化数据存储标准格式,DBF格式文件得以广泛的应用于各类企业及事业单位用于数据交换。
ACCESS的JET/ACE数据库引擎并不直接支持高版本的Visual Foxpro的DBF表文件,只提供了对dBASE III、dBASE IV、和dBASE 5.0的支持,这样我们就可以通过这三种版本的dbf文档与各种版本的FoxPro进行数据交换了。
一、导入与导出DBF文件的SQL语法
在导入与导出的过程中DBF表文件所处的位置不同,一个是源表(在导入ACCESS时),另一个是目的表(在导出为dbf表时),因而语法也有两种情况:
一个是作为源表的DBF表文件的语法:
FROM tableexpression IN ["path" "type"] | ["" [type; DATABASE=path]]
另一个是作为目的表来操作DBF库表的语法:
[Select | Insert] INTO destination IN ["path" "type"] | ["" [type; DATABASE=path]]
语法的的各项说明如下表:
项目 |
说明 |
Destination与tableexpression |
此处都是指库表文件名,这里是名为“*.dbf”的数据库文件。 |
Path |
DBF文件所在的文件夹全路径,包括盘符及文件夹。 |
Type |
这是应该是指数据库的类型,此处应该是dBASE III、dBASE IV、和dBASE 5.0。 |
由于这两种情况下只是数据流动的方向不同,对于操作DBF表的语法来说是差不多的,所以我们示例中就只从一个方面来说明用法了。另外,对dBASE III、dBASE IV、和dBASE 5.0等不同版本的DBF的处理,只要替换数据库类型即把语句中的“dBASE III”替换成“dBASE IV”或“dBASE 5.0”就可以了,反之亦然。
二、导入或导出DBF库表文件
我们有一个ACCESS示例数据库,里面有一个名为“学生成绩”的表,打开如图18-1所示的样子:
图18-1:学生成绩表中的记录
现在我们将此表导出为dBASE IV的DBF文件,SQL语句如下:
Select * INTO [dBASE IV;
DATABASE=D:\SQL for ACCESS\;].TestTable.dbf
FROM 学生成绩;
执行后效果如图18-2所示:
图18-2:执行SQL导出dBASE IV格式的DBF文件
单击“是”后就会在指定的路径下生成一个名为“TestTabl.dbf”的DBF文档,如图18-3:
图18-3:生成的DBF文件
细心的读者可能已经发现了一个情况,我们在SQL查询中指定的文件名为“TestTabl.dbf”,而最后生成的却是“TESTTABL.DBF”,与前面的不一致,大家知道是为什么吗?这是因为时期的系统只支持“8.3”结构的文件名,系统自动为我们截短了的缘故。
三、其它几种SQL语句的写法
其一:
Select *
INTO [Test01.dbf]
IN ''
[dBASE III;
DATABASE=D:\SQL for ACCESS\;]
FROM 学生成绩;
执行后效果如图18-4所示的样子:
图18-4:导出表为dBASE III格式的DBF文件
其二:
Select *
INTO [Test02.dbf]
IN 'D:\SQL for ACCESS\'
[dBASE 5.0;]
FROM 学生成绩;
这个语句是将ACCESS的库表“学生成绩”导出为“dBASE 5.0”格式的DBF文件,执行后如图18-5:
图18-5:导出为dBASE 5.0格式的DBF文档
其三:
Select *
INTO [dBASE IV;
DATABASE=D:\SQL for ACCESS\;].[Test00.dbf]
FROM 学生成绩;
运行后如下图18-6:
图18-6:导出为dBASE IV格式的DBF文件
OK,关于DBF文档的导入与导出就讲到这里,谢谢阅读,请多多提意见。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)