簡體   English   中英

在MS Access主窗體中找到一個TempVar,並將其寫入連接到該子窗體的表中

[英]Locate a TempVar in a MS Access main form and write it to a table connected to the subform

我需要向前端Access 2016數據庫的子窗體上的復選框添加一些VBA代碼。

目標是將表中包含在主窗體中的文本框中包含的值插入表中。

到目前為止,我采取的步驟是:

  1. 單擊子窗體上的復選框;
  2. 創建一個臨時變量;
  3. 將臨時變量插入相關表;
  4. 移至下一項。

代碼如下:

    Option Compare Database

    Private Sub AssegnatoCampione_Click()

        'Create temporary variable and store the selected value
        TempVars("NumeroCampione").Value = Forms!FormCampioni2.SampleNo.Value

        'Write the value in the database
        CurrentDb.Execute " INSERT INTO DB_Offerte2017 " _
                        & "([NumeroCampione]) VALUES " _
                        & "(" & TempVars![NumeroCampione] & ")" ', dbFailOnError
    End Sub

我得到的錯誤是:。

“參數太少。預期為1。”

有沒有辦法知道變量是否正確存儲?

非常感謝你的幫助。

編輯1:

好的,所以我想該錯誤是由於DB_Offerte2017([NumeroCampione])是文本字段所致。 我以這種方式糾正了代碼:

CurrentDb.Execute "INSERT INTO DB_Offerte2017 ( NumeroCampione ) VALUES ('" & Me.Parent.SampleNo & "')", dbFailOnError

這樣,每次我單擊復選框時,表“ DB_Offerte2017”中的“ NumeroCampione”字段下都會添加一條新記錄。

但是,我需要將這些記錄添加到復選框所在的同一行中(例如,單擊ID = 2438的復選框->在ID = 2438的DB_Offerte2017.NumeroCampione上添加“ SampleNo”值)。

是否可以在代碼中添加where語句?

為什么不只是普通的VBA變量或僅引用控件? 代碼在子窗體和主窗體上的字段/控件后面? 嘗試:

CurrentDb.Execute "INSERT INTO DB_Offerte2017([NumeroCampione]) VALUES (" & Me.Parent.SampleNo & ")", dbFailOnError

暫無
暫無

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

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