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群 (群号:483923997) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
- 通过Access宏录入数据到选...(11.10)
学习心得
最新文章
- ACCESS精华集锦资料.CHM(04.25)
- Access VBA语句If Me...(04.24)
- 【Access修改记录示例】编辑选...(04.22)
- 【Access表名称命名建议】将A...(04.20)
- Access学习笔记--用Acce...(04.19)
- 【Access重复项查询示例】将A...(04.17)
- Access快速开发平台企业版--...(04.16)
- 【Access模块示例】通过模块代...(04.15)
- Access查询里面分组合计功能添...(04.13)
- 【Access删除查询】删除数字最...(04.12)