用SQL语句添加记录的DAO记录集用于下一个循环

用SQL语句添加记录的DAO记录集用于下一个循环

问题描述:

我知道这很愚蠢,但我无法弄清楚这一点。下面的当前代码将满足条件的记录集插入到TxtBox1中,然后通过在表中重新写入满足TxtBox2条件的新记录集来擦除数据。用SQL语句添加记录的DAO记录集用于下一个循环

我需要的是将TxtBox1中的记录集会议条件插入到表中,然后在循环时将记录集的下一个迭代添加到表中。 (不超过写入/删除第一返回记录集)

Dim db As Database 
Dim rst As DAO.Recordset 
Dim rrow As Integer, strCmboNmbr As Integer 
Dim start As Object 

Set db = CurrentDb() 

strCmboNmbr = (Left(Forms("Match Summary").Controls("CmbNum").Value, 1)) 

For rrow = 1 To strCmboNmbr 'lets say 2 
    Set start = Forms("Match Summary").Controls("TxtBox" & rrow) 'TxtBox1, TxtBox2, etc. 
    DoCmd.RunSQL "SELECT [Oracle JE].* INTO Unmatched FROM [Oracle JE] WHERE [Oracle JE].[Account Code]=" & start 'This is a MAKE Table Query 
Next rrow 

如果你不希望覆盖你需要一个追加的表中的第一行程后:

If rrow = 1 then 
    DoCmd.RunSQL "SELECT [Oracle JE].* INTO Unmatched FROM [Oracle JE] 
    WHERE [Oracle JE].[Account Code]=" & start 
Else 
    DoCmd.RunSQL "INSERT INTO Unmatched SELECT [Oracle JE].* FROM [Oracle JE] 
    WHERE [Oracle JE].[Account Code]=" & start 
End 

理想的情况下,你会有一个预定义的表。然后你可以添加一个主键和索引给它,先清除它然后运行一系列附加。

+0

Thanxs。我将使用必填字段创建一个预定义的表结构,添加一个主键,对其进行索引,并在执行此步骤之前清除它,就像您所建议的一样。 Thanxs,再次。 –