Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请高手们指教:对后台库表的联合查询语句应怎么写呀?

放弃  发表于:2010-05-23 09:51:15  
复制

感谢您的关心。

我的原记录表全都放在后台库里,想通过前台窗体对后台库表进行联合查询。不知语句中如何正确表达后台库的“表名”。

Option Compare Database
Dim Rs As ADODB.Recordset
Dim Rs2 As ADODB.Recordset
Dim MYSQL As String

Private Sub Form_Load()

Call 连接

Set Rs = New ADODB.Recordset
    MYSQL = "Select * From 合同表"
    Rs.Open MYSQL, CNN, adOpenKeyset, adLockOptimistic
   

Set Rs2 = New ADODB.Recordset
    MYSQL = "Select * From 合同明细表"
    Rs2.Open MYSQL, CNN, adOpenKeyset, adLockOptimistic
  
MYSQL = "SELECT RS.合同编号, RS.客户合同号, RS.客户代号, RS.签订日期, RS.负责人, RS.执行状态," _
       & "RS2.合同编号, RS2.序号, RS2.货品代号, RS2.货品名称, RS2.成品长度, RS2.成品宽度, RS2.规格单位, RS2.合同数量, RS2.计量单位, RS2.单位重量, RS2.单位价格, RS2.价格单位, RS2.合同交期 " _
       & "FROM RS INNER JOIN RS2 ON RS.合同编号=RS2.合同编号;"

 

Me.RecordSource = MYSQL '即将查询语句作为窗体的记录源内容.

 

RS.CLOSE

RS2.CLOSE

Set Rs = Nothing
Set Rs2 = Nothing
End Sub
Public Sub 连接()

Dim MYDATA As String
    MYDATA = CurrentProject.Path & "\XXC后台" & ".mdb"
Set CNN = New ADODB.Connection

With CNN
  .Provider = "MICROSOFT.JET.OLEDB.4.0"
  .Open MYDATA
 End With

   End Sub

 

Top
陈福祥 发表于:2010-05-23 11:00:29

你的 Rs、RS2 是代表一个记录集变量,你在SQL语句里面是不能这样直接使用变量名的。

在SQL语句里,只能使用实实在在的表名或查询名。

语句错误太多,不便一一指出。



放弃 发表于:2010-05-23 11:12:19

谢谢陈老师的回复。陈老师是怎样处理对连接表查询的呢?不好意思再请教您好了。多谢!

 



陈福祥 发表于:2010-05-23 12:12:15

你的那个语句我也没仔细看,但从你的意思来讲,好象是想在当前的库中查询另一个数据库的数据。如果是这样的话,我给上一句从当前数据库查询另一个数据库的SQL语句给你参考:

 

SELECT  订单ID,  产品ID,  单价,  数量,  折扣 FROM 订单明细  IN 'C:\xxx\abcd.mdb';

 

即:如果数据库来源是在另一个库中,那么你可以用 IN 然后再加上另一个库的完整的路径名及文件名,这个路径和文件名需要用引号引上。



放弃 发表于:2010-05-23 19:01:18
再次感谢陈老师的关心。我先按照您的方法试试。

放弃 发表于:2010-05-24 21:31:30
陈老师的方法试了行不通啊。但我自己已经解决了。

放弃 发表于:2010-05-24 21:44:57

我的方法是:先将前台设置相应的空表,然后将后台库表中的记录临时添加到前台表中,查询窗体关闭时删除后仍恢复为空表。

这办法似乎也有“脱库子放屁”之味道,但不知高手们用的是什么“ACCESS标准”的方法。



总记录:6篇  页次:1/1 9 1 :