2017-07-06 79 views
-1

首先,我是一個總NOOB!我正在嘗試通過整個流程來處理訂單。因此,我已經根據每個單獨的流程創建了表格。僅包含基本信息的訂單數據位於tblCurrentOrders中。其他每個進程都通過OrderNumber字段鏈接到tblCurrentOrders。該過程的第一步是到期日期信息輸入到tblPlanner表中。顯然,直到tblPlanner中輸入數據爲止,沒有OrderNumber存在(這對其他表也是如此,如果我得到的話)。使用基於1表的Access 2010表單在鏈接表中輸入數據

我想創建一個基於表單的tblCurrentOrders,它只顯示tblPlanner(新訂單)中沒有相應條目的記錄,然後我想能夠在子表單中輸入tblPlanner信息。我曾嘗試使用基於tblPlanner的子表單基於tblCurrentOrders創建表單,但我無法弄清楚如何僅顯示新訂單。我也嘗試將表單放在僅顯示新訂單的查詢上,但我不知道如何使基於tblPlanner的子表單工作。

請幫忙!!

回答

0

那麼,鏈接表格的最簡單方法就是在開始新訂單時在tblPlanner中創建OrderNumber。然後添加一個標誌和時間戳,以確定它是否「已發佈」。

編輯

既然你提供一點點的細節,我將修改我的迴應,爲您所需的方法更緊密地結合起來。

創建「新訂單」是一個多步驟過程。所以通常最好在調用VBA代碼的表單上創建一個Command Button。這將允許您控制每一步並確保它是正確的。

步驟A:首先,你要:

1)創建控制表(如果你還沒有的話),讓你把命令按鈕,將推出不同的VBA代碼或打開不同的顯示形式。

2)在控件窗體上,創建一個列表框,允許您選擇一個現有的訂單號。

3)在控件窗體上,創建一個命令按鈕以打開使用所選列表框OrderNumber的訂單窗體。當訂單窗體打開時,它將填充該訂單號的tblCurrentOrders數據,並使用tblPlanner數據填充子窗體。 (只要你有正確的鏈接)

4)在控制窗體上,創建一個命令按鈕,打開訂單窗體只有一組記錄是「新訂單」。請參閱步驟C中更詳細的過程。

5)在控制窗體上,創建一個命令按鈕以啓動將創建「新訂單」的VBA代碼。這是在步驟B中詳細描述的多步驟過程。

6)創建任何其他按鈕或控件,允許您沿着完成方式監視或提前執行「訂單」。 (這是大量的工作來獲得全部到位件。)

步驟B:當你按命令按鈕,以創建一個「新秩序」要創建的VBA代碼,將:

1)在tblCurrentOrders表中創建一條新記錄。

2)在新記錄上創建一個唯一的OrderNumber。如果你控制這個數字的生成,而不是讓它成爲一個系統生成的序列號,通常是最好的。但只要它是唯一的,無論你想要什麼都可以。

3)在新的tblCurrentOrders記錄中將您的ReleasedFlag設置爲false。

4)確保您的ReleasedTimeStamp爲空。 (或者你想要的任何值)

5)你可能想要一個CreatedTimeStamp,你可以填入日期Now()

6)填寫需要填寫的任何其他「初始化」字段。 (如延期交貨狀態,退貨標誌,短標誌等等)

7)在tblPlanner表中創建一條新記錄。

8)將您爲tblCurrentOrders記錄創建的唯一OrderNumber複製到新tblPlanner記錄的OrderNumber字段中。這將創建一個鏈接,供您使用子查詢和子表單。

9)現在您可以使用此新訂單號打開訂單表單。

步驟C:當您按下命令按鈕以打開一組記錄分別是「新訂單」,只需:

命令按鈕需要啓動一個查詢中找到」 ... tblCurrentOrders說只顯示記錄沒有 tblPlanner(新訂單)中的相應條目「: 您只需要選擇將ReleasedFlag設置爲false的tblCurrentOrders。

`SELECT * FROM tblCurrentOrders WHERE ReleasedFlag = false` 

所以,當你說:「... ,然後我希望能夠在子窗體進入tblPlanner信息」 ......你可以根據tblCurrentOrders ORDERNUMBER創建子窗體鏈接到tblPlanner領域。

這是對所有依賴你觀察到當你說「...記錄tblPlanner 沒有相應條目...」那你真的是:記錄沒有在tblPlanner發佈條目。這意味着:爲了使記錄存在於tblCurrentOrders中,它必須在tblPlanner中創建一個相應的空白(或啓動器)記錄。因此,現在您可以顯示鏈接到未發佈的tblCurrentOrders記錄的空白tblPlanner記錄。

然後,一旦您的數據輸入人員完成了新訂單的兜售,他們就可以「下達」訂單(通常通過單擊「發佈命令按鈕」)。此時,您可以將ReleasedTimeStamp設置爲Now(),並在tblCurrentOrders中將您的ReleasedFlag設置爲True。它正式不再是「新訂單」,現在已經成爲您系統中的現場訂單。

您正處於創建家庭訂單錄入系統的冰山一角。建立一個好的複雜性是巨大的。祝好運,全力以赴。請記住使用時間戳和ID字段,以便您可以返回並取消可能因意外事故而做的事情。

希望這一切都有助於。 :)

+0

這是非常豐富的信息,我非常感謝幫助。我想我想走簡單的路線(當你開始一個新的訂單時,在tblPlanner中創建你的OrderNumber,然後添加一個標誌和時間戳以判斷它是否被「釋放」),那麼你能解釋一下你提到的幾個概念嗎在一個更詳細的一點。 – JCooper

+0

我想你需要更多關於我需要的細節的細節;)你能解釋一下「當你開始新訂單時在tblPlanner中創建你的OrderNumber」是什麼意思嗎?兩個表使用每個表中的OnderNumber字段以一對一的關係鏈接。另外,我要添加時間戳和標誌到哪個表? – JCooper

+0

好的...我編輯了上面的答案,以包含您提供的新信息並回答您的新問題。 – abraxascarab