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)
- 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.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)