2016-01-22 80 views
0

我需要從未綁定表單上的用戶輸入創建報表。訪問通過表單輸入創建報表

我有兩個表,其中的數據將來自於:

Table Name: RMAMaster 
Fields: 
RMANbr (5 digit number) 
DateIssued (date in MM/DD/YYYY format) 
CompanyName (text) 
CustNbr (6 digit number) 

Table Name: RMAItems 
Fields (that are relevant for the search): 
RMANbr (relationship established to RMAMaster.RMANbr) 
PartNbr (text) 
Warranty (Yes/No) 
Disposition (lookup from another table) 

形式(名稱:RMA報告搜索)上有以下控件,這個想法是,用戶可以在任意數量的填寫領域。空白字段意味着「搜索所有字段」並填寫字段將「搜索這些字段中的數據」。

CustNbr (being in the RMAMaster table) 
PartNbr (being in the RMAItems table) 
Date Opened <start> to <end> (being in the RMAMaster table) 
Disposition (being in the RMAItems table) 
Warranty (drop down with choice "Yes", "No" and "Any") (being in the RMAItems table) 

(可能性增加更多領域的用戶認爲合適的)

例如,我在零件號「G-5645」進入和離開「保修」爲「任何」,它會搜索所有具有部件編號「G-5645」的RMA都將顯示在報告中。報告將支付幾分像這樣:

RMAMaster.RMANbr RMAMaster.DateIssued RMAMaster.CustNbr, RMAMaster.CompanyName 
| 
|-- RMAItems.PartNbr RMAItems.Warranty RMAItems.Disposition 
|-- RMAItems.PartNbr RMAItems.Warranty RMAItems.Disposition 
|-- (possibly repeated depending on how many items the customer sent back 

我可以建立報告,但我不換我的頭周圍從形式RMA報告查詢得到的數據,並建立過它的報告。我使用查詢嗎?調用報告的VBA代碼?不知道我該如何去做這件事。任何幫助,將不勝感激。

謝謝!

回答

0

如果我瞭解你,你想'建立'一個基於搜索表單的報告。如果這是正確的,則不需要在運行時生成報告,而是基於查詢組合最終要從RMAItems,RMAMaster表顯示的字段來構建報告。此報告的記錄來源應該是此查詢。

接下來,從搜索表單中,用戶將選擇所有適用的字段並打開報告(可能是按鈕單擊)?此按鈕單擊將根據所選字段生成WHERE語句。 Rpt_Results將是您想要生成的報告,stLinkCriteria是您想要傳遞的標準。通過添加到stLinkCriteria來迭代建立鏈接標準。

Dim stLinkCriteria As String 
dim stDocName as String 


stDocName = "RPT_Results" 

stLinkCriteria = "[" & [PARTNumber] & "]=" & forms!FRM_Search.PartNumber 

... 

DoCmd.OpenForm stDocName, , , stLinkCriteria 
+0

因此,查詢本報告....我只是讓它選擇報告的字段,我需要顯示沒有任何WHERE語句?那麼使用'DoCmd.OpenForm'或'DoCmd.OpenReport'? – Jguy

+0

沒錯。報告本身不會有任何內置過濾器/聲明。 where語句將根據搜索表單動態構建。 – RyanL