簡體   English   中英

Access 2003-表單上另一個數據庫的字段

[英]Access 2003 - Field from another database on form

我正在“修復”一個舊的Access數據庫,並且客戶端請求將DATE字段添加到表單中。 問題是,我以前從未使用過Access。 我是一個SQL專家,我建立了自己的UI。 這種形式使我變得更好。

好-我有兩個表格:tblQuestionairre QuestionairreID EventID等等等等

tblEvent EventID日期時間等等等等

現在,我正在編輯frmQuestionairre(問題表格)。 來自Questionairre表(tblQuestionairre)的所有信息都在這里。 問題是,我需要在此表單上的某處添加DateTime字段,以便客戶可以看到何時輸入questionairre。 如您所見,我的鏈接項目是EventID。

盡我所能,不能僅使用“表達式生成器”從事件表中“添加” DateTime。 我需要為當前已加載的Questionairre加載正確的DateTime。 每個Questionairre都鏈接到一個事件。

如何將此字段添加到Questionairre表單? 我不斷收到#Name嗎? 錯誤,這顯然是因為它不知道在EventID上鏈接兩個表。

編輯:是的,這是簡單的一對一關系。 是的,該字段需要可編輯。

解答:= DLookUp(“ [DateEntered]”,“ tblEvent”,“ EventID =”&Forms!frmQuestionnaire!EventID)

編輯:現在我可以顯示它了,我不能編輯它!

如果我正確閱讀了該問題,則您在tblQuestionairre和tblEvent之間的EventID上存在1-1關系?

如果是這樣,只需打開表單的屬性表,然后在“數據”選項卡上編輯“記錄源”屬性,使其基於連接兩個表的查詢,而不只是tblQuestionairre。 您甚至可以直接使用屬性表中的構建器來構建查詢。

設置好之后,您應該能夠在窗體上放置一個新的文本框,並將其控件源(同樣在屬性表的“數據”選項卡上)設置為“ DateTime”字段。

最快的方法是在窗體的OnCurrent事件中使用DLookup函數。 當加載新記錄並且DLookup執行簡單的數據庫查找並返回一個值時,將觸發OnCurrent。

您需要更改Form的RecordSource,以便將其鏈接到連接兩個表而不是一個表的查詢。

在您的情況下,編輯RecordSource屬性,然后使用設計器創建查詢或單擊SQL按鈕以輸入如下內容:

SELECT tblQuestionaire.QuestionaireID, 
       tblQuestionaire.EventID,
       tblQuestionaire.blahblah,
       tblEvent.DateTime,
       tblEvent.blahblahblah
FROM tblQuestionaire 
INNER JOIN tblEvent 
      ON tblQuestionaire.EventID=tblEvent.EnventID;

這假定您在表之間具有嚴格的1對1關系,否則,如果它是1對[0,1]關系,則使用LEFT JOIN

暫無
暫無

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

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