2014-09-02 19 views
1

我一直在思考這個背後的邏輯,我似乎無法找出解決這個問題的最佳方法。Microsoft Access - 我想讓我的mainform根據字段自動在子窗體中創建X記錄

1 - Afterinsert

2 - 未結合的字段+按鈕插入X倍

3 - 我很開放的建議

形式

enter image description here

的關係

enter image description here

我在辯論使用AfterInsert來處理一切。由於NoOfBoxes將決定記錄的數量,我只需要將MergeNoisCommission的值複製到子表單中。但問題是,我還需要自動填充該項目,這使我想到解決方案編號2.

與編號2背後的推理是;我的接收報告標題不包含項目信息,因爲子窗體只能有1種類型的項目,但只有多個項目。我打到數字2.

解決方案2號將是多個未綁定的字段,將信息拉入組合框,或輸入所需信息,然後點擊按鈕,然後將所有數據傳輸到子窗體並創建正確的記錄數量。

unbound fields = itemcode,mergeNo,isCommission和NoOfBoxes。

回答

3

我認爲你需要用1或0的整數Numbers表格,以適當的數量,然後你可以這樣說:

INSERT INTO ATable (MergeNo, IsCommission) 
SELECT [Forms]![aForm]![MergeNo] AS MergeNo, 
     [Forms]![aForm]![IsCommission ] AS IsCommission 
FROM Numbers 
WHERE Numbers.Number<=[Forms]![aForm]![NoOfBoxes] 

不要忘記,如果號碼錶,從0開始,它是小於,不小於或等於。

+0

你是否暗示用insert創建一個循環?並繼續,直到我擊中'NoOfBoxes' – 2014-09-03 12:45:42

+0

不,我不是Numbers表中從0或1到至少最大NoOfBoxes的整數,然後SQL從數字表中選擇SELECTS以獲得所需的行。 – Fionnuala 2014-09-03 15:06:50

+0

我不明白插入查詢如何將X數量插入到where子句的表基數中。 爲了容納數字而設置表格並不是一件壞事,它似乎是半生不produ的。 – 2014-09-03 15:30:13

相關問題