开发者

View Form Creation Code in Access VBA?

开发者 https://www.devze.com 2023-04-06 16:02 出处:网络
Is it possible to view the form creation code in Access VBA? I don\'t mean the event listener code that is viewable i开发者_运维百科n the VBE from View>Code in the form\'s Design View. I mean the code

Is it possible to view the form creation code in Access VBA? I don't mean the event listener code that is viewable i开发者_运维百科n the VBE from View>Code in the form's Design View. I mean the code that is used to create the components, and add them to the form. I would like to programatically set Form properties; doing this from the Properties dialog is quite slow (and annoying).


Yes, it's possible to create a form to design. Vba include CreateControl Method (see MSDN Office-11 Control ) And you can add to this controls any event procedure like OnClick, OnFocus, etc. (see MSDN Office-11 Event You can manipulate the width, height, etc.. properties as simple as me.control.width I developed some time ago a form that could customized OnResize event to create different views depend of screen resolution and use all of this.


In theory you could get the form definition from the system table where it is stored (MSysObjects), but it isn't in a format that is practical to work against.

In theory you could avoid using the graphical designer to layout your form and create all the controls/set their properties dynamically in the form_load event. However, this wouldn't be much of a time-saver.

Assuming the gist of the question is whether there is an XML like declarative way to define a form layout similar to WPF. The answer is no.


All (?) the properties can be set through VBA for both the form and the controls.

Sub FormInDesignView()
Dim frm As Form
Dim ctl As Control

Set frm = Screen.ActiveForm
frm.Caption = "New"

For Each ctl In frm.Controls

    ctl.Name = "txt" & ctl.Name
    ctl.ForeColor = vbRed

Next


End Sub


No, it is not directly possible to do what you want. But if you insisted, you could use the undocumented Application.SaveAsText/LoadFromText commands and process the resulting text file.

Why you think this is a useful way to work in Access, I haven't a clue -- it's completely antithetical to the purpose and design of Access. Give up on your habits from other development tools and learn the Access way of doing things. You'll be a lot happier and productive in the long run.

0

精彩评论

暂无评论...
验证码 换一张
取 消