2017-03-24 71 views
0

我通過在子窗體上使用查詢來輸入數據。我想自動填充工作號給我添加到該子表單的每一個新行。MS-Access:通過查詢輸入數據,我如何自動填充列?

tbl_Jobs 
[Job_ID] <Primary Key 
JID1001 
JID1002 
JID1003 

tbl_Job_Tasks 
[ID Auto][Job_ID][Task] 
1  JID1002 TASK1 
2  JID1002 TASK2 
3  JID1002 TASK3 
4  JID1001 TASK1 

這是我在最基本的層面上查詢...

SELECT tbl_Job_Tasks.[Job_ID], tbl_Job_Tasks.[Category], tbl_Job_Tasks.[Task] 
FROM tbl_Job_Tasks 
WHERE (([Job_ID]="JID1002")); 

我想做什麼就能做的是隱藏JOB_ID列,並讓它自動填充用戶如果他們決定爲他們的工作輸入一項新任務。目前,如果我輸入新任務,我必須指定要使用的Job_ID。該查詢正在用於從父表單中提取其Job_ID的子表單中,因此在完美的世界中,最終用戶不必重新輸入Job_ID。

這可能嗎?

謝謝

+0

Job_ID被用作父窗體的父/子關係。只需使用tbl_Job_Tasks作爲您的子版本的源代碼,並讓Access處理它。 – geeFlo

+0

Job_ID是關係持有者,但我真正的查詢是在顯示它們之前對任務進行一堆排序。只是以此爲例,因爲它更簡單一些。 – Robomato

回答

1

如果子窗體鏈接到父窗體正確(使用鏈接主/子字段屬性)子記錄的外鍵(在你的情況tbl_Job_Tasks.Job_ID)應該會自動填寫。

除非您以某種奇怪的方式篩選子表單記錄,否則您甚至不需要查詢。

編輯 - 在這裏看看http://www.access-diva.com/f2.html解決您的未綁定問題。

+0

是的,我正在做自定義排序。爲了便於理解,我抽出了所有正在進行的排序,將任務分類到不同的類別和訂單中。 – Robomato

+0

這應該不重要 - 您仍然會使用主/子關係來控制子表單。只要查詢是可更新的。如果不是,您可能需要合理化查詢並對子表單執行排序篩選,而不是查詢。 – Minty

+0

如果我嘗試在子窗體上設置主窗口或子窗口,則會出現「無法建立未綁定窗體之間的鏈接」錯誤,我認爲這是因爲我使用查詢作爲源對象,這是否正確? – Robomato

0

只是爲了總結解決方案。

  • 將主字段和子字段鏈接到子表單。
  • 如果您收到「無法建立未綁定表單之間的鏈接」錯誤,則可以進入設計視圖並手動輸入父/子字段。

之後,該字段將在進入新行時自動更新。