簡體   English   中英

MS Access:引用 VBA 查詢定義中的子表單文本框控件元素

[英]MS Access: referring to a subform textbox control element in VBA query definition

我有一個帶有用戶輸入(文本框)的子表單,它可以超過 255 個字符並且可以包含特殊字符。 由於我無法將其作為參數分配給 vba 查詢定義(只能​​使用 255 個字符),因此我考慮直接引用文本框:

Insert into ...
Values (Forms!MainFormName!txt_MyTextField, ... )

在 Access GUI 中的查詢中確實有效,但在使用以下代碼指定的 vba 查詢定義中無效:

Set query_definition = CurrentDb.CreateQueryDef("", SQLQuery)) 

"Forms!MainFormName!NameOfSubformNavigationElement!txt_MyTextField" 也不能作為參考,以防萬一。 “Forms!MainFormName!NameOfSubformNavigationElement.Form.txt_MyTextField”也不行

我怎樣才能得到我想要的? 字符串可以有任何類型的特殊字符,如 ' 和 "。除了將用戶輸入附加到 sql 查詢之外別無選擇嗎?是否有一些內置函數來轉義這些值?

更新:現在環境已知,添加了另一個示例。

要在操作查詢中使用表單字段,請創建一個將返回所需字段的公共函數,然后從您的查詢中調用該函數。

Public Function GetFormField() As String
    GetFormField = Forms![MyMainForm]!MySub.Form.MyField
End Function

在您的查詢中,使用以下內容:

WHERE ((([106thZip_code_database].zipcode)=GetFormField()));

以下是您可以在主窗體中用於引用子窗體中的字段的示例。 'MySub' 是主窗體上控件的名稱 - 不是子窗體的對象名稱。

Debug.Print Forms![MyMainForm]!MySub.Form.MyField

關於這個主題的一個很好的參考可以在: http : //access.mvps.org/access/forms/frm0031.htm

暫無
暫無

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

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