精通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)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)