设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4613|回复: 7
打印 上一主题 下一主题

[ADO/DAO] 不配置ODBC的DSN数据源,如何代码连接FOXPRO表作为ACCESS连接表

[复制链接]
跳转到指定楼层
1#
发表于 2013-3-20 12:24:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在ODBC数据源中配置手DSN数据源后,连接FOXPRO数据表hwck_sb.dbf作为ACCESS外部连接数据表,没有问题,
Private Sub Command0_Click()
DoCmd.TransferDatabase acLink, "ODBC", "ODBC;DSN=foxprodbf;sourcetype=dbf;sourcedb=d:\;exclusive=no;", acTable, "hwck_sb", "dboAuthors"
End Sub

现在我想不建立ODBC数据源DSN文件,直接用vba代码连接(国为不想为每台电脑配置ODBC数据源),不知道应该如何改写连接字符?

请高手指点,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-3-20 16:48:45 | 只看该作者
select * from 数据表名称 in "外部文件的地址"
外部文件可以是Access、Sqlserver、Excel、FOXPRO等。
3#
发表于 2013-3-20 21:19:04 | 只看该作者
印象中有个叫做传递查询的玩意儿应该可以解决这个问题,只需要创建1次就好了。
http://support.microsoft.com/kb/303968
4#
 楼主| 发表于 2013-3-22 10:09:49 | 只看该作者
很多谢两版主的热情帮助.
1、用"select * from 数据表名称 in "外部文件的地址"
外部文件可以是Access、Sqlserver、Excel、FOXPRO等。"会提示"无法辨识的数据库格式”

2、用roych所说的传递查询,也要需要先在“计算机上创建系统 DSN”,跟我之前的语句的做法一样,需要先创建ODBC数据源的DSN文件,也就是要每一台计算都要手动配置ODBC数据源的DSN文件,然后才能上创建边接表。

我要想有没有办法不用创建系统DSN文件,直接用代码连接FOXPRO数据表,这样只要给个地方别人修改PDF路径就行了,然后就可以用ACCESS写的程式了,不知道有没有方法可以实现?
5#
 楼主| 发表于 2013-3-22 10:10:18 | 只看该作者
todaynew 发表于 2013-3-20 16:48
select * from 数据表名称 in "外部文件的地址"
外部文件可以是Access、Sqlserver、Excel、FOXPRO等。

很多谢两版主的热情帮助.
1、用"select * from 数据表名称 in "外部文件的地址"
外部文件可以是Access、Sqlserver、Excel、FOXPRO等。"会提示"无法辨识的数据库格式”

2、用roych所说的传递查询,也要需要先在“计算机上创建系统 DSN”,跟我之前的语句的做法一样,需要先创建ODBC数据源的DSN文件,也就是要每一台计算都要手动配置ODBC数据源的DSN文件,然后才能上创建边接表。

我要想有没有办法不用创建系统DSN文件,直接用代码连接FOXPRO数据表,这样只要给个地方别人修改PDF路径就行了,然后就可以用ACCESS写的程式了,不知道有没有方法可以实现?
6#
 楼主| 发表于 2013-3-22 10:10:38 | 只看该作者
roych 发表于 2013-3-20 21:19
印象中有个叫做传递查询的玩意儿应该可以解决这个问题,只需要创建1次就好了。
http://support.microsoft. ...

很多谢两版主的热情帮助.
1、用"select * from 数据表名称 in "外部文件的地址"
外部文件可以是Access、Sqlserver、Excel、FOXPRO等。"会提示"无法辨识的数据库格式”

2、用roych所说的传递查询,也要需要先在“计算机上创建系统 DSN”,跟我之前的语句的做法一样,需要先创建ODBC数据源的DSN文件,也就是要每一台计算都要手动配置ODBC数据源的DSN文件,然后才能上创建边接表。

我要想有没有办法不用创建系统DSN文件,直接用代码连接FOXPRO数据表,这样只要给个地方别人修改PDF路径就行了,然后就可以用ACCESS写的程式了,不知道有没有方法可以实现?谢谢!
7#
发表于 2013-3-22 17:35:15 | 只看该作者
yanghuap 发表于 2013-3-22 10:09
很多谢两版主的热情帮助.
1、用"select * from 数据表名称 in "外部文件的地址"
外部文件可以是Access、S ...

select * from table1 in "D:\hwck_sb.dbf"
8#
 楼主| 发表于 2013-3-29 21:42:09 | 只看该作者
todaynew 发表于 2013-3-22 17:35
select * from table1 in "D:\hwck_sb.dbf"

不可识别的数据库格式 <filename>。(错误 3343)

可能的原因:


指定的文件名不是 Microsoft Access 数据库引擎数据库。
指定的文件名为设备名,例如,打印机或控制台。
数据库文件包含无效的标题信息或未知排序次序。
已挂起另一个用户的提交,但找不到锁定文件。
在提交过程中,您试图写入大于最大页面大小 (2K) 的长整型值。
数据库已被破坏。请压缩数据库,然后再次尝试打开它。

© 2010 Microsoft Corporation。保留所有权利。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-13 10:10 , Processed in 0.111044 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表