2014-04-05 110 views
1

我在同一個應用程序中有四個表單,並且我有一個Ms訪問數據庫,必須通過應用程序中的數據插入三個表單,數據必須插入一條記錄中,但不同的字段。從vb.net中的多個表單在一條記錄中插入數據到數據庫中

像這樣: Form1中插入數據分爲五個領域, 窗口2具有數據存儲在現場六, form3必須將數據存儲在田七, 以上所有的刀片必須在一個記錄發生。

我已經在form1和form2中寫入了插入代碼,但是會發生什麼情況是:用戶輸入很好地插入到前五個字段的數據庫中,即form1,問題是,當我導航到form2時,數據被插入到正確的字段中,但是錯誤的記錄(即下一個記錄)。我沒有編寫任何可能做我想做的代碼,只需要指導。提前致謝。

回答

0

您可以指定一個地方,以打開右側的記錄表單打開表單時條件:

DoCmd.OpenForm "frmEmployee", WhereCondition:="EmployeeID=3" 

當然每個記錄都需要一個唯一標識(在我的例子EmployeeID)每個記錄的主鍵。

如果您打開了另一種形式的diaplays相同的記錄,你將不得不從這種形式採取記錄ID形式:

DoCmd.OpenForm "frmEmployee", WhereCondition:="EmployeeID=" & Me!EmployeeID 

如果只允許用戶編輯這個記錄,它是設置窗體屬性這樣一個好主意:

在格式標籤:

Allow Form View = Yes 
Allow Datasheet View = No 
Allow PivotTable View = No 
Allow PivotChart View = No 
Allow PivotChart View = No 
Record Selectors = No  (not necessary since we allow only one record) 
Navigation Buttons = No  (not necessary since we allow only one record) 

在數據標籤:

Allow Filters = No 
Allow Edits = Yes 
Allow Deletions = No 
Allow Additions = No 
Data Entry = No  (If set to yes this opens the form on a new empty record) 
+0

感謝奧利弗,但是......我的數據庫自動生成的ID和應用程序可以使用很多次,所以我不知道要使用的唯一變量,這樣的插入可以繼續存儲在同一記錄中。 – nondoo

+0

你說你在'form1'中輸入了五個字段,然後打開'form2'來繼續輸入同一記錄的其他字段。如果'form1'綁定到表格,在打開第二個表單之前設置'Dirty = False'。這存儲了記錄。現在你可以像這樣訪問auto-id字段:'Me!NameOfIDField'。但是你應該考慮使用帶有多個標籤頁的'TabControl',而不是使用多種表單。 –

+0

謝謝Olivier,就是這樣,任務完成了。 – nondoo

相關問題