2013-07-11 34 views
1

我有一個將處理RMA(退貨授權)信息(日期,RMA Nbr,評估,發貨日期,RMA上的項目等)的Access 2003數據庫。在這個Access數據庫我有三種形式:使用命令按鈕預填充另一個表單上的字段

  • 添加RMA(添加新軍事變革與任何項目數據庫這種形式(會)就可以上市RMA上的所有項目子窗體添加至今)
  • 查看RMA(訪問量對數據庫中現有RMA的信息,與子窗體上的每個RMA的所有項目)返回
  • 添加項目到RMA(因爲每個RMA可以有多個不同類型的項目,我有一個專門用於向RMA添加新項目的表格,每次輸入後,表格自行清除並允許更多輸入)

向RMA表單添加RMA和添加項目具有所有未綁定的字段(它們旨在接受新輸入,並且只有在按下按鈕時纔會插入到數據庫中。

「將項目添加到RMA」表單有五個字段,全部未綁定。實際的表單根本不參考來自數據庫的信息。五個領域之一是RMA號碼。

'新建RMA'和'查看RMA'表單有一個按鈕,應該打開'添加項目到RMA'窗體。我希望所說的按鈕打開「添加項目到RMA」表單,其中RMA號碼字段預先填入了前一個屏幕的RMA號碼。每個表單上的每個字段都有名稱「RMANbr」。

在「查看RMA」窗體中的命令按鈕上,我在「單擊」事件中有以下代碼,但它似乎沒有工作。 「添加RMA項」欄顯示空白:

Private Sub AddItemtoRMA_Click() 
    DoCmd.OpenForm "Add Item to RMA", , , "RMANbr = " & Me!RMANbr 
End Sub 

牢記字段綁定

所以,我需要的代碼,將在未結合RMANbr欄會自動填補。「添加項目到'RMA'形式與RMANbr字段從'添加RMA'和'查看RMA'形式

我還想在'添加RMA'和'查看RMA'中列出所有項目的子表單刷新/通過'添加項目到RMA'表單(當按下按鈕時)添加每個項目後重新查詢。我試過

RMA Inforation.Requery 
Add RMA.Requery 

沒有成功。沒有刷新,沒有錯誤,沒有。

這可以用代碼來完成嗎?

回答

1

不知道我跟隨說明有多好,但看起來你可能會利用OpenArgs參數與OpenForm。 (您現有的代碼使用WhereCondition參數,但是這是沒有意義的未綁定的形式。)

OpenArgs是第七參數OpenForm。如果我計算正確的逗號,這可能是工作:

DoCmd.OpenForm "Add Item to RMA", , , , , , Me!RMANbr 

不過,我會使用該選項的名稱,以避免計算逗號。

DoCmd.OpenForm "Add Item to RMA", OpenArgs:=Me!RMANbr 

然後在目標窗體的Load事件,你可以移動到新的記錄,並在保持RMANbr文本框中使用OpenArgs值(我猜的文本框中的名稱是txtRMANbr)。

Private Sub Form_Load() 
    DoCmd.GoToRecord acDataForm, , acNewRec 
    If Not IsNull(Me.OpenArgs) Then 
     Me.txtRMANbr = Me.OpenArgs 
    End If 
End Sub 
+0

非常好!這工作很好!非常感謝! – Jguy

相關問題