2014-07-16 29 views
0

我對此非常的Microsoft Access組合框覆蓋第一條記錄

ID  EmployeeNumber  FirstName  LastName 
1  010101    Joshua   Dalley 
2  020202    Jessica   Daze 
3  030303    Jason   Bruyere 
4  040404    Jeremy   Bob 

與4名員工的組合框,當我顯示組合框,一切似乎都很正常。我有一個的onChange()代碼更新的firstName/lastName的文本框中

我的問題是,當我閉上形式frm_login,而我選擇的任何ID,它似乎總是覆蓋第一個ID = 1在組合框中選擇最後一名員工。我不知道如何解決這個問題。它只改變FirstName和LastName,而EmployeeNumber保持不變。

ID  EmployeeNumber  FirstName  LastName 
1  010101    Jason   Bruyeye 
2  020202    Jessica   Daze 
3  030303    Jason   Bruyere 
4  040404    Jeremy   Bob 

這將是我的表,如果我關閉它在觀看ID = 3

Default View: Single Form 
Allow Form View: Yes 
Allow Datasheet View: No 
Allow PivotTable View: No 
Allow PivotChart View: No 
Scroll Bars: Neither 
Record Selectors: No 
Navigation Buttons: No 
Border Style: Thin 

Record Source: tbl_employee 

Allow Filters: No 
Allow Edits: Yes 
Allow Deletions: No 
Allow Additions: No 
Data Entry: No 
+0

當然,它不僅改變了姓氏和名字,這就是你在你的鱈魚的所有變化即你的表單如何設置? –

+0

你是否暗示我的cboEmployeeNo_change()是什麼導致我所有這個問題? –

+1

註釋掉'OnChange()'方法,看看你的問題是否發生。 –

回答

1

你的第一混亂,可以在形式的Recordsource設置爲tbl_employee。您可以使用tbl_employee中的值加載組合框。我在你的問題中看不到任何東西,導致我相信該表單應該有一個Recordsource

您可以將文本框的控件來源設置爲組合框的值。

  1. 右鍵點擊txtFirstName - >屬性 - >數據 - >控制源: cboEmployeeNo.Column(2)
  2. 右鍵點擊txtLastName - >屬性 - >數據 - >控制源: cboEmployeeNo.Column(3 )

Microsoft Support Article

To display the *YourField* column of the current combo box selection, create a text box control. Make the text box a calculated control by defining the following expression as the ControlSource for the text box 
=[cboControlName].Column(1) 
where cboControlName is the name of the combo box. The Column property makes the text box (calculated control) read-only. 
+0

我總是假設一個窗體應該總是基於查詢。不會有沒有控制源的表單,使它無用? –

+0

@JoshuaDalley取決於你使用的是什麼,真的。 –

+0

'txtFirstName/txtLastName = #Name?'從窗體中移除控件源並在文本框的控件源中輸入'Me.cboEmployeeNo.Column(2)/Me.cboEmployeeNo.Column(3)'。 –