MS Access 2003 - 将多个表的最后一条记录合并为一个查询或表?

时间:2010-02-28 04:27:32

标签: ms-access vba access-vba ms-access-2003

我有几个表是交易表,我想为比较余额制作一个简单的数据透视图....这恰好是这个表中最后一个记录,称为“余额”

所以我知道如何使用SQL语句rs.movelast在表单上填充它,但我不知道如何在不将其放入表格的情况下进入数据透视表....

谢谢!

编辑:

这就是我用的!谢谢Remou!

(SELECT TOP 1 TransactionID, Balance  
FROM tblTrans001
ORDER BY TransctionID  DESC) 
UNION  
(SELECT TOP 1 TransactionID,  Balance  
FROM tblTransaction02 
ORDER BY TransactionID DESC) 
UNION
(SELECT TOP 1 TransactionID, Balance
FROM Tranaction03
ORDER BY TransID DESC) 

现在我只需要找到一种方法将文本字符串插入到相应的字段中,以识别该值来自哪个表。

例如,上面的查询返回

TransID     Balance
123         $1000.00
234         $20000.00
345         $300000.00

我需要:

TransID     Balance        Table/Account
123         $1000.00       tblTransaction01
234         $20000.00      tblTransaction02
345         $300000.00     tblTransaction03

谢谢!

1 个答案:

答案 0 :(得分:3)

你定义的最后一条记录是什么?让我们说它是创建的日期,并且创建的日期是唯一的,然后您可以使用下面的SQL。请注意,括号很重要。

(SELECT TOP 1 CrDate , Balance , "TranA" As FromTable
FROM  TransactionsA
ORDER BY  CrDate DESC)
UNION 
(SELECT TOP 1 CrDate , Balance , "TranB" As FromTable
FROM  TransactionsB 
ORDER BY  CrDate DESC)