代码生成窗体及窗体事件的函数
时 间:2021-01-11 16:43:32
作 者:月皓星隐 ID:39720 城市:自贡
摘 要:代码创建窗体的函数。
正 文:
有时工作需要创建大量窗体,都是重复的的项目只是字段不同,因为平台收费版才支持SQL server,因此开发工作很麻烦。这里根据平台的功能的灵感才设计了此函数。以下是我做的成品图片,我是设计了 窗体设计 类(Class)来自动创建,因为涉及到平台核心功能,因此本贴只提供最关键的函数,不提供成品,但是勤奋的同学可以根据自己的灵感自己创造了。
各位同学拿去用的时候无忘原创,转发请注明作者,谢谢!同时希望多珍惜accessoft交流平台,这里真的学到了很多,要是可能,多多支持Accessoft平台。
创建出来的窗体如下:(对应的查询长宽型,主要是自定义的名称,可以无视掉)
'*************************************************
'程序功能:本程序用来创建一个新窗体,并给新窗体赋予属性
'
'程序名称:CreateNewForms
'
'程序参数:frmName(窗体名称) , FrmCaption (窗体标题), Heith (高度), Widths (宽度) , RecordSourceSQL(源数据 可选),
' DefaultViews(窗体可视化类型 可选,默认为0 即单个窗体,连续窗体是1,数据表是2)比如子窗体就可以用2
'使用范围:适合所有2016 及 2019 access
'
'使用范例:CreateNewForms "Test","这是一个测试",10*567,20*567
' 注意vba 使用的是缇,转化成厘米为 1:567 即10cm 为 10*567
'程序作者:月皓星隐
'
'编外的话:
'
'参考资料:根据本平台的软件灵感开发
'
'编写时间:2021-01-11
'****************************************************
Private Function CreateNewForms(frmName As String, FrmCaption As String, Heith As Long, Widths As Long _
, Optional RecordSourceSQL As String = "", Optional DefaultViews = 0)
Dim frm As Form
Set frm = CreateForm
DoCmd.Save , frmName
Set frm = Forms(frmName)
With frm
'设置标题
.Caption = FrmCaption
'不要记录选择器
.RecordSelectors = False
'不要导航按钮
.NavigationButtons = False
'滚动条设置成无
.ScrollBars = 0
'主窗体高度
'关联记录
'.InsideHeight = Me.主窗体高度
.Section(acDetail).Height = Heith '这个是窗体主体部分 Me.Section(acFooter)是页脚
'主窗体宽度
' .InsideWidth = Me.主窗体宽度 这个只是临时改变
.Width = Widths
.RecordSource = RecordSourceSQL
.DefaultView = DefaultViews
'边框样式是 不可调边框
.BorderStyle = 1
.Modal = False '弹出方式
.HasModule = False '模式
'把窗体模块打开,否则用代码写不进去代码
.HasModule = True
End With
'再次保存
DoCmd.Save , frmName
'退出窗体
DoCmd.Close acForm, frmName
Set frm = Nothing
RefreshDatabaseWindow
End Function
'******************************************************************************************************************
'程序功能:本程序用来创建一个窗体对应的代码
'
'程序名称: CreateModCode
'
'程序参数:frmName(你创建的窗体名称) , CodeStr 代码内容
'
'使用范围:适合所有2016 及 2019 access
'
'使用范例:CreateModCode "Test","Private Sub Form_Load()" & Chr(10) & "End Sub"
'
'程序作者:月皓星隐
'
'编外的话:
'
'参考资料:根据本平台的软件灵感开发
'
'编写时间:2021-01-11
'*******************************************************
'创建对应窗体及对应的控件程序
Function CreateModCode(frmName As String, CodeStr As String)
'On Error GoTo Err_CreateModleCode
Dim frm As Form
Dim mdl As Module
DoCmd.OpenForm frmName, acDesign
Set frm = Forms(frmName)
frm.HasModule = True
Set mdl = frm.Module
mdl.InsertText CodeStr
DoCmd.Save
DoCmd.Close acForm, frmName
Exit_CreateModleCode:
Set mdl = Nothing
Set frm = Nothing
Exit Function
Err_CreateModleCode:
If Err = 2516 Then
'没有这个模块,那么就建立
frm.HasModule = True
resume next
End If
End Function
示范函数
sub FrmTest
CreateNewForms "Test","这是一个测试",10*567,20*567
CreateModCode "Test","Private Sub Form_Load()" & Chr(10) & "End Sub"
end sub
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)