我有一个名为 ECD 的表,如下所示:
Cle2 Mont Lettrage
acbd.... +8,36 Suspens
abcd... -8,36 Suspens
dced.. +12,89 Suspens
dced.. -12,89 Suspens
Cle2
标识表中属于同一组的记录的字段在哪里是
Mont
存储每条记录
Lettrage
数量的字段是存储标签的字段,该标签将根据我的查询结果发生变化。
我要做的基本上是按 Cle2 对表 ECD 进行分组,同时对 Mont ( Sum(Mont)
) 的值求和,然后检查 Mont 中的值是否求和并分组cle2
为 0。如果它们等于 0,我更新Lettrage
将这些记录标记为 OK,如果不是,我将这些记录标记为 SUSPENS!
我已经在访问中完成了此操作,但是代码效率不高,我基本上要做的是:
1、创建一个名为provisional
2、将 select Query 的值插入到该表中的新表
代码:
INSERT INTO Provisor
SELECT Cle2 As Cle2p, Sum(MONTANT_ORACLE) AS Sum
FROM ECD
GROUP BY Cle2
3,创建一个表ECD2,空的,与ECD相同的字段
4,将连接语句的结果插入到该表中,如下所示:
代码:
INSERT INTO ECDlet1
SELECT Provisor.lettrage As Let2, ecd.*
FROM Provisor
LEFT JOIN ECD ON Provisor.[Cle2p]=ECD.Cle2
5,然后清理数据库并Lettrage
使用正确的标签更新
所以我想做的就是在不创建所有那些愚蠢的物理表的情况下做这样的事情,我想强调我在 Visual Basic 中使用 CurrentDb.Execute 语句执行查询。
预先感谢您的回答!