Access打开指定弹出式窗体,并将其定位在当前控件下方的示例;Access窗体定位;Access窗体置顶代码;Access代码设置弹出与模式的示例
时 间:2022-08-13 08:48:55
作 者:鼠标 ID:27902 城市:嘉定
摘 要:Access打开指定弹出式窗体,并将其定位在当前控件下方。
正 文:
'经修改Access网友的源码而来
'函数名称: OpenFormFor
'frmName:,必选参数,需要打开的窗体名称
'功能描述: 打开一个弹窗式窗体定位到当前活动窗体活动控件
'2022-08-13更新了一下代码
Public Function OpenFormFor(frmName As String, Optional strArgs As String, Optional lngX As Long = 0, Optional lngY As Long = 0)
On Error GoTo Err_OpenFormFor
Dim lngLeft As Long
Dim lngTop As Long
Dim lngWidth As Long
Dim lngHeight As Long
Dim lngBorderWidth As Long
Dim CurrentCtl As Control
With Screen.ActiveForm
Dim frm As Object
'获取当前活动窗体控件名称
For Each frm In CurrentProject.AllForms
Set CurrentCtl = Screen.ActiveForm.ActiveControl
Next frm
'计算窗体左右边框宽度
lngBorderWidth = (.WindowWidth - .InsideWidth) / 2
lngLeft = .WindowLeft + CurrentCtl.Left
'判断是否有记录选择器
If .RecordSelectors Then lngLeft = .WindowLeft + .WindowWidth - .InsideWidth + CurrentCtl.Left - CurrentCtl.BottomPadding / 2
'====================
lngHeight = (.WindowHeight - .InsideHeight - lngBorderWidth)
'计算定位的Y位置
lngTop = .WindowTop + CurrentCtl.Top + CurrentCtl.Height + lngHeight / 2 + lngBorderWidth - CurrentCtl.BottomPadding
'判断活动控件位置在窗体页眉或页脚位置
Select Case CurrentCtl.Section
Case acDetail
lngTop = lngTop + .Section(acHeader).Height
Case acFooter
lngTop = lngTop + .Section(acHeader).Height + .Section(acDetail).Height
End Select
'打开指定窗体,strArgs传递参数
DoCmd.OpenForm frmName, , , , , , strArgs
'定位打开窗体到活动窗体控件,lngX,lngY微调补正位置
Forms(frmName).Move lngLeft + lngX, lngTop + lngY
End With
Exit_OpenFormFor:
Exit Function
Err_OpenFormFor:
If Err = 2462 Then
Resume Next
Else
MsgBox Err.Description, vbCritical, "Error For Function OpenFormFor"
Resume Exit_OpenFormFor
End If
End Function
示 例:
演 示:
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)

学习心得
最新文章
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)