代码生成窗体及窗体事件的函数
时 间: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)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)