Office中国论坛/Access中国论坛

标题: 不配置ODBC的DSN数据源,如何代码连接FOXPRO表作为ACCESS连接表 [打印本页]

作者: yanghuap    时间: 2013-3-20 12:24
标题: 不配置ODBC的DSN数据源,如何代码连接FOXPRO表作为ACCESS连接表
我在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数据源),不知道应该如何改写连接字符?

请高手指点,谢谢!

作者: todaynew    时间: 2013-3-20 16:48
select * from 数据表名称 in "外部文件的地址"
外部文件可以是Access、Sqlserver、Excel、FOXPRO等。
作者: roych    时间: 2013-3-20 21:19
印象中有个叫做传递查询的玩意儿应该可以解决这个问题,只需要创建1次就好了。
http://support.microsoft.com/kb/303968
作者: yanghuap    时间: 2013-3-22 10:09
很多谢两版主的热情帮助.
1、用"select * from 数据表名称 in "外部文件的地址"
外部文件可以是Access、Sqlserver、Excel、FOXPRO等。"会提示"无法辨识的数据库格式”

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

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

select * from table1 in "D:\hwck_sb.dbf"
作者: yanghuap    时间: 2013-3-29 21:42
todaynew 发表于 2013-3-22 17:35
select * from table1 in "D:\hwck_sb.dbf"

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

可能的原因:


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

© 2010 Microsoft Corporation。保留所有权利。





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3