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高效办公】统计当...(06.30)
- 【Access高效办公】用复选...(06.24)
- 根据变化的日期来自动编号的示例...(06.20)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 【Access高效办公】统计当...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)

学习心得
最新文章
- Access设置试用期截止日期默认...(08.15)
- Access快速开发平台--Err...(08.12)
- Deepseek资料整理神器(08.11)
- 【Access财务分析示例】按月统...(08.08)
- Access查询里使用Date()...(08.05)
- 关于Access交叉表查询生成的统...(08.02)
- ACCESS做的工作日常小工具_纸...(07.30)
- Access快速开发平台进销存教程...(07.28)
- 关于Access快速开发平台2.6...(07.23)
- 【Access交叉表查询】按百分比...(07.21)