Ms-Access

使用獨立的文本框以連續的形式為不同的行/寄存器寫入不同的值,重複每一行中的值

  • February 13, 2021

我有一個使用連續表單視圖來顯示以下內容的表單:

  • 我擁有的不同產品的名稱。
  • 在另一列中,我有產品的實際數量。ç

這是使用以 products 表作為來源的表單進行的,並且產品名稱文本框的名稱取自表的產品名稱欄位的值。數量欄位的來源是同一表中的數量欄位。

一切正常。我這樣做只是為了顯示名稱和數量,但我不想編輯此表中的這些欄位,因此我鎖定並禁用了它們。

現在問題來了:我做了一個獨立的文本框欄位,這樣我就可以寫一個數量,不是代替舊的,而是購買,這樣寫的數量就減去了數量欄位。我想將此資訊與產品 ID、數量和日期一起放到一個新表中,但現在的問題是,每當我在獨立文本框中輸入購買數量並按 Enter 或 Tab 鍵或更改為下一個,每行中不同產品的所有獨立文本框都更新為相同的值。

我只是通過試驗和試錯來學習訪問。

我意識到的另一件事是,由於我使用連結表單到表,並且我沒有獲取 Id,我不能使用該 Id 更新表或將其放入另一個系統資料庫表,所以我被卡住了。

我認為這會更容易,只需使用插入查詢所需的欄位編寫查詢並使用按鈕點擊事件觸發它,但我必須以錯誤的方式接近它。

您必須將文本框綁定到欄位。一種無需更改原始表的方法是創建一個虛擬表來保存這些額外的值。該表可以在本地數據庫中。

Dummy帶列的表:

   Id     Numeric / Long, Primary key (with a type matching the Id in the first table)
   Value  with appropriate type

現在,將您的表單基於如下所示的查詢

SELECT *
FROM
   OriginalTable
   LEFT JOIN Dummy ON OriginalTable.Id = Dummy.Id

添加一個綁定到Value. 每當您在此處輸入值時,都會自動將記錄添加到Dummy表中。始終在打開表單之前刪除此表的記錄。

當然,如果可以接受的話,您可以簡單地在原始表中添加一個新列。


至於另一個問題:始終在查詢中包含 Id 列。你不需要為它添加一個文本框。

引用自:https://dba.stackexchange.com/questions/284950