access 跨库查询中的路径能否使用变量?

btbtd 2007-10-17 06:45:21

我有目录 G:\My Documents\Index_92_AspNet(SrcMngSys)\#data 有数据库
#data.mdb
#tag.mdb
#code.mdb

现在我知道 跨库可以这样查询 select * from TagTbl in 'G:\My Documents\Index_92_AspNet(SrcMngSys)\#data\#Tag.mdb'

但问题是, 我想把路径改成一个变量...
于是在VBA 中写了函数
Function TagPath()

Dim s

Set dbs = CodeDb
s = """" & Left(dbs.Name, InStrRev(dbs.Name, "\")) & "#Tag.mdb" & """"
Set dbs = Nothing
TagPath = s

End Function

想通过
select * from TagTbl in TagPath()
取标签表的内容...

但是提示出错...

请问 in 路径 能否使用变量?
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2007-10-17
  • 打赏
  • 举报
回复
select * from TagTbl in TagPath()
------------------------------------


TagPath() 是模块中的函数,返回全路径和文件名。

不支持这种方式,必须用动态构建SQL语句。

如:

dim Str as String

Str="select * from TagTbl in " & TagPath()

然后用此串查询数据或修改查询的串。
btbtd 2007-10-17
  • 打赏
  • 举报
回复
哦, 看来要死人了...
如果不能动态处理.. 俺的工作量会成倍增长...
~~~~~~~>_<~~~~~~~~
OracleRoob 2007-10-17
  • 打赏
  • 举报
回复
不论是SQL Server,还是Access,如果路径或表名是动态的,无法直接处理,必须用代码动态构建SQL串。

btbtd 2007-10-17
  • 打赏
  • 举报
回复
疯..

TagPath 是在 Access 中的 vba 函数
btbtd 2007-10-17
  • 打赏
  • 举报
回复


查询我知道怎么弄...
路径 使用 变量
OracleRoob 2007-10-17
  • 打赏
  • 举报
回复
即使是SQL Server,也必须用动态SQL语句才行,Access同样如此。
OracleRoob 2007-10-17
  • 打赏
  • 举报
回复
select * from TagTbl in TagPath()

-----------------------------

不行。

不能用这种方式处理,必须把函数返回的串连接到SQL语句中。
OracleRoob 2007-10-17
  • 打赏
  • 举报
回复
(1)其中表名是在db2中的表名
SELECT * from 表名 in 'C:\db2.mdb'

(2)其中表名是在db2中的表名
select * from [;database=C:\db2.mdb].表名

btbtd 2007-10-17
  • 打赏
  • 举报
回复
说明一下..
我是指在库中 把路径 弄成变量 ...
而不是在编程语言中使用变量(这谁不会呀...)

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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