2014-09-24 48 views
0

我試圖打印一個名爲Carton Labels的報表,並且我想打印用戶剛創建的特定記錄。每次我嘗試使用Me.cartonNo這是用戶所在當前窗體上的實際字段。他被提示輸入。我究竟做錯了什麼?Microsoft Access如何檢索要打印的當前表單ID

enter image description here

編輯:

Dim strDocName As String 
Dim strFilter As String 

DoCmd.RunCommand acCmdSaveRecord 

strDocName = "Carton Labels" 
strFilter = "[cartonNo] = Forms![frm_addFinishedGoodsInventory]![cartonNo]" 

DoCmd.OpenReport strDocName, acViewPreview, strFilter 

我的打印按鈕不起作用,它的作用就好像什麼也沒有存儲在strFilter的,但如果我創建昏暗intFilter爲整數,並將其存儲到一個整數,我可以清楚地看到紙箱沒有,如果我設置了一個斷點,但我沒有在strFilter。

+1

我會避免宏,除非你需要在線工作。他們很難控制。 – Fionnuala 2014-09-24 14:16:02

+0

@Fionnuala我添加了我的新VBA代碼,因爲你建議遠離宏的 – 2014-09-24 15:44:58

回答

1

您需要先解決紙箱號碼,然後再將其傳遞給OpenReport。通過放置表格!這樣引號外參考:

strFilter = "[cartonNo] = " & Forms![frm_addFinishedGoodsInventory]![cartonNo] 

正在創建的字符串[cartonNo] = 6,然後傳遞一個報告。如果該字段是文本字段(或日期),則需要在值的周圍包含引號(或#)。

+0

strFilter完美的工作,我可以看到實際的數字存儲到它。但我的過濾器沒有被應用到我的OpenReport。 – 2014-09-24 16:07:39

+0

您認爲推動報告的表或查詢有一個名爲cartonNo的字段?不是報告本身,而是報告的數據來源。而外地紙箱沒有期待一個數字而不是文字? – 2014-09-24 16:11:24

+0

@JohnnyBones我的紙箱沒有字段預計字符串不是一個數字。 – 2014-09-24 17:26:35