2016-02-09 77 views
0

我知道這很愚蠢,但我無法弄清楚這一點。下面的當前代碼將滿足條件的記錄集插入到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 

回答

2

如果你不希望覆蓋你需要一個追加的表中的第一行程後:

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,再次。 –