代码生成窗体及窗体事件的函数
时 间: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选项卡示例】Ac...(09.09)
- 【Access源码示例】按输入...(09.02)
- 【Access日期区间段查询】...(08.29)
- 【Access日期区间段查询】...(08.27)
- Access怎样才能实现日期时...(08.21)
- 【Access定时打开查询】A...(08.19)
- Access生成固定数量的记录...(08.13)
- Access怎样才能实现日期时...(08.12)
- Access利用导航窗体控件对...(08.03)
学习心得
最新文章
- Access表中的字段名、字段标题...(09.19)
- Access快速开发平台--更改“...(09.18)
- 【中秋及国庆优惠】Access培训...(09.15)
- Access如何将日期型的数值转换...(09.14)
- 英文输入法输入数据中存在单引号引起...(09.11)
- 【Access选项卡示例】Acce...(09.09)
- 让Access光标停留在指定的控件...(09.07)
- 关于Access查询条件里使用通配...(09.06)
- Access报表偷懒制作法--Ac...(09.05)
- Access快速开发平台--窗体数...(09.04)