簡體   English   中英

MS Access 2003-基於以前的表單域自動填充表單域。

[英]MS Access 2003 - Auto fill form-field based on previous form field.

我目前正在嘗試設計一個數據庫,該數據庫需要許多用戶通過表單輸入數據。

這些表之一是“用戶”表。 表格中的信息包括用戶ID(int),用戶名(文本),名字(文本),姓氏(文本)

即使我正在填寫表單並在用戶名字段中提供用戶名,如果用戶名已經存在,是否有可能從用戶表中提取名字和姓氏並自動填充這些表單字段? 如果可以的話,您能指出我正確的方向嗎?

直接通過訪問功能還是通過vba? 如果在2003年不可能,那么在2007年是否有可能?

我有一個類似的表格,我使用這些字段作為組合框。 然后將屬性行源設置為查詢。

設置條件像這樣

WHERE ((([Users].Username) Like '*' & [Forms]![YourForm]![Username] & '*'));

這將允許用戶盡快選擇名稱

但是它不會自動填充它,因為我的用戶可以使用與其他用戶相同的用戶名。

現在可以自動填充了(是的,我確實找到了一個示例),在填充用戶標識后,這將填充用戶名(在這種情況下,兩者都應為組合框,分別稱為Usernamecombo和useridcombo)。首先使用類似於以下內容的SQL進行查詢:

SELECT [User].username FROM User WHERE ((([User].userid) Like '*' & [Forms]![Yourform]![useridcombo] & '*'));

讓我們將此查詢稱為“ qry_username”。 然后轉到表單的designview和useridcombo的屬性,在event / afterupdate屬性中創建一個事件過程(VBA):

Private Sub useridcombo_AfterUpdate()

[Forms]![yourform]![Usernamecombo].Value = DFirst("username", "qry_username")
Forms("yourform").[Usernamecombo].Requery 'this last line is optional

End sub

其他字段可以很簡單地添加到VBA中(不要忘記查詢)

Private Sub useridcombo_AfterUpdate()

[Forms]![yourform]![Usernamecombo].Value = DFirst("username", "qry_username")
[Forms]![yourform]![Firstnamecombo].Value = DFirst("Firstname", "qry_username")
[Forms]![yourform]![Lastnamecombo].Value = DFirst("Lastname", "qry_username")
Forms("yourform").[Usernamecombo].Requery 'this last line is optional

End sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM