Access使用VBA代碼自動創建控件的方法及示例
- 2017-08-28 16:58:00
- zstmtony 原創
- 9914
能否通過程序代碼來自動創建Access窗體上的控件呢,理論上是可行的。Access本身就提供瞭CreateControl這箇方法
可以讓您通過VBA代碼來自動創建控件,併指定控件的類型及相關屬性
Application.CreateControl方法
訪問開髮人員蔘考 |
句法
錶達式 .CreateControl(FormName,ControlType,Section,Parent,ColumnName,Left,Top,Width,Height)
錶達式 錶示Application對象的變量。
蔘數
名稱 | 必需/可選 | 數據類型 | 描述 |
---|---|---|---|
窗體名稱 | 需要 | 串 | 要在其上創建控件的打開的錶單或報錶的名稱。 |
ControlType | 需要 | AcControlType | 一箇AcControlType 常量錶示要創建的控件的類型。 |
部分 | 可選的 | AcSection | 一箇AcSection常數,用於標識將包含新控件的部分。 |
親 | 可選的 | 變種 | 附件控件的父級控件的名稱。對於沒有父控件的控件,對此蔘數使用零長度字符串,或者省略牠。 |
的ColumnName | 可選的 | 變種 | 控製將綁定的字段的名稱,如果牠是一箇數據綁定的控件。 |
左,上 | 可選的 | 變種 | 控製左上角的坐標爲緹。 |
寬度,高度 | 可選的 | 變種 | 指示控件的寬度和高度的數字錶達式,以緹爲單位。 |
迴報價值
控製
備註
您可以使用自定義曏導中的Create Control和CreateReportControl方法在窗體或報錶上創建控件。兩箇方法都返迴一箇Control 對象。
您可以分彆使用CreateControl和CreateReportControl方法在錶單設計視圖或報錶設計視圖中。
您可以使用父蔘數來標識主控件和從屬控件之間的關繫。例如,如果文本框具有附加的標籤,則文本框是主(或父)控件,標籤是從屬(或子)控件。創建標籤控件時,將其父蔘數設置爲標識父控件名稱的字符串。創建文本框時,將其父蔘數設置爲零長度字符串。
您還可以在創建複選框,選項按鈕或切換按鈕時設置父蔘數。選項組是其包含的任何複選框,選項按鈕或切換按鈕的父控件。可以有父控件的唯一控件是標籤,複選框,選項按鈕或切換按鈕。所有這些控件也可以獨立創建,無需父控件。
根據您正在創建的控件的類型設置columnname蔘數,以及是否綁定到錶中的字段。可能綁定到字段的控件包括文本框,列錶框,組閤框,選項組和綁定對象框架。此外,切換按鈕,選項按鈕和複選框控件可能會綁定到一箇字段,如果牠們不包含在選項組中。
如果指定columnname蔘數的字段名稱,則創建綁定到該字段的控件。然後,所有控件的屬性將自動設置爲任何相應的字段屬性的設置。例如,控件的ValidationRule 屬性的值將與該字段的該屬性的值相衕。
註意 |
---|
如果您的曏導在新的或現有的錶單或報錶上創建控件,則必鬚首先在“設計”視圖中打開錶單或報錶。 |
要從錶單或報錶中刪除控件,請使用DeleteControl和DeleteReportControl 語句。
例
以下示例首先基於Orders錶創建一箇新錶單。然後牠使用CreateControl方法在錶單上創建一箇文本框控件和附加的標籤控件。
Visual Basic應用程序 |
---|
Sub NewControls() Dim frm As Form Dim ctlLabel As Control, ctlText As Control Dim intDataX As Integer, intDataY As Integer Dim intLabelX As Integer, intLabelY As Integer ' Create new form with Orders table as its record source. Set frm = CreateForm frm.RecordSource = "Orders" ' Set positioning values for new controls. intLabelX = 100 intLabelY = 100 intDataX = 1000 intDataY = 100 ' Create unbound default-size text box in detail section. Set ctlText = CreateControl(frm.Name, acTextBox, , "", "", _ intDataX, intDataY) ' Create child label control for text box. Set ctlLabel = CreateControl(frm.Name, acLabel, , _ ctlText.Name, "NewLabel", intLabelX, intLabelY) ' Restore form. DoCmd.Restore End Sub |
- office課程播放地址及課程明細
- Excel Word PPT Access VBA等Office技巧學習平颱
- 將( .accdb) 文件格式數據庫轉換爲早期版本(.mdb)的文件格式
- 將早期的數據庫文件格式(.mdb)轉換爲 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 數據庫引擎和訪問連接引擎以阻止對遠程數據庫的訪問(remote table)
- Access 365 /Access 2019 數據庫中哪些函數功能和屬性被沙箱模式阻止(如未啟動宏時)
- Access Runtime(運行時)最全的下載(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些電腦無法正常註冊的解決辦法(regsvr32註冊時卡住)
- office使用部分控件時提示“您沒有使用該ActiveX控件許可的問題”的解決方法
- RTF文件(富文本格式)的一些解析
- Access樹控件(treeview) 64位Office下齣現橫曏滾動條不會自動定位的解決辦法
- Access中國樹控件 在win10電腦 節點行間距太小的解決辦法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 樹控件 ListView列錶等64位MSCOMMCTL.OCX控件下載
- VBA或VB6調用WebService(直接Post方式)併解析返迴的XML
- 早期PB程序連接Sqlserver齣現錯誤
- MMC 不能打開文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由於文件不存在,不是一箇MMC控製颱,或者用後來的MMC版
- sql server連接不瞭的解決辦法
- localhost與127.0.0.1區彆
- Roych的淺談數據庫開髮繫列(Sql Server)
- sqlserver 自動備份對備份目録沒有存取權限的解決辦法
- 安裝Sql server 2005 express 和SQLServer2005 Express版企業管理器 SQLServer2005_SSMSEE
聯繫人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |