如何使用表单名称作为字符串创建新的表单实例

2023-12-02

使用表单名称创建封闭表单的新表单实例的代码

我想用变量替换长的选择案例列表。

模块完整代码


在 Access 2010 中,我有一个 VBA 函数,当给定包含表单名称的字符串时,该函数会打开表单的新实例。通过将表单变量“frm”添加到集合中:

mcolFormInstances.Add Item:=frm, Key:=CStr(frm.Hwnd)

我能找到打开“frm”的唯一方法是使用我手动输入的 Select Case 语句。

Select Case strFormName
    Case "frmCustomer"
        Set frm = New Form_frmCustomer
    Case "frmProduct"
        Set frm = New Form_frmProduct        
    ... etc ... !
End Select

我希望它自动执行此操作,有点像这样(尽管这不起作用):

Set frm = New Eval("Form_" & strFormName)

或者通过一些代码:

For Each obj In CurrentProject.AllForms 'or AllModules, neither work
    If obj.Name = strFormName Then
        Set FormObject = obj.AccessClassObject 'or something
    End If
Next

Set frm = New FormObject

我只是想避免列出项目中的每个表单,并且必须在添加新表单时保持列表更新。


我自己也做了一些测试,并在网上阅读了一些相关内容。据我所知,如果不使用 DoCmd.OpenForm,则不可能使用表示表单名称的字符串创建新的表单对象并将其设置为现有表单的实例。

换句话说,除非别人能证明我是错的,否则你想做的事就无法完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用表单名称作为字符串创建新的表单实例 的相关文章

  • MS Access 查询:检查表单是否打开/检查参数是否需要输入

    我目前正在尝试在 MS Access 查询 使用 GUI 工具 而不是 SQL 工具 中检查特定表单是否打开 而不使用 VBA 使用以下表达式 Expr1 Formulaires Form1 Visible 如果 Form1 打开 查询工作
  • schema.ini 文件不适用于 MS Access

    我有一堆 csv 文件 我通过 VBA 将它们导入到 Access 中的表中 我在与导入的 csv 文件相同的目录中还有一个 schema ini 文件 尽管在 ini 文件中字段被指定为双精度类型 但它们在 Access 中会转换为文本类
  • 将所有工作簿工作表复制到新工作簿 VBA

    我正在使用此代码将工作簿中的每张工作表复制到新工作簿中 它工作正常 但它颠倒了工作表的顺序 是否有办法阻止它这样做 Sub copy copies all the sheets of the open workbook to a new o
  • 具有多个条件(全部等于相同值)的 IF 语句的替代方案

    还有比这更好的方法吗 假设所有变量都为零 If var1 0 Or var2 0 Or var3 0 Or var4 0 Or var5 0 Or var6 0 Then do something End If 你可以用Select Cas
  • 尝试通过 Java 8 中的 JDBC-ODBC 连接到 .accdb 文件时出现 ClassNotFoundException

    我正在 Eclipse EE IDE 中的 Java 项目中工作 我必须在其中查询 accdb文件 问题是当我尝试加载驱动程序然后连接到数据库时 它给了我一个异常错误 My code try String filePath myfilepa
  • 在 Ruby 中跨多个类实例记忆数据的好方法是什么?

    考虑 生成数据的对象的许多实例 如果每次运行只生成一次该数据 那就太好了 class HighOfNPeriods lt Indicator def generate data indicator data DataStream new 0
  • 实体框架、dll、excel

    我用C 编写了Excel使用的dll 该dll是COM注册的 我与 Excel 的连接没有问题 该 dll 使用实体框架 5 从 SQL Server 数据库检索数据 如果我通过控制台应用程序运行该 dll 则该 dll 工作正常 但是当我
  • MS Access 中的舍入

    VBA Access 中舍入的最佳方法是什么 我目前的方法是利用Excel方法 Excel WorksheetFunction Round 但我正在寻找一种不依赖Excel的方法 请注意 VBA Round 函数使用 Banker 舍入 将
  • 标准 VBA 函数“找不到项目或库”

    因此 我必须在我的 PC 上运行别人的 Excel 应用程序 并且在标准函数 如日期 格式 十六进制 中间等 上收到 找不到项目或库 的信息 一些研究表明 如果我在这些函数前加上 VBA 前缀 如 VBA Date 中那样 它会正常工作 网
  • For...VBA 中的下一个循环超出限制

    我正在使用一个For Next循环填充数组 如下所示 ReDim array 1 to 100 1 to 100 For i 1 to 100 Next i But the i计数器似乎总是转到 101 而不是停止在 100 因此 这会在我
  • 如何在不滚动的情况下截取整个电子邮件正文?

    我正在使用 OL2010 想要制作整个电子邮件的屏幕截图 不仅仅是 屏幕 可以用VBA或者外部程序来完成吗 有一个类似的问题 https stackoverflow com questions 4176340关于如何使用 C 实现这一点 注
  • Excel VBA 过滤和复制粘贴数据

    给定一个数据集 假设有 10 列 在 A 列中我有日期 在 B 列中我有 我想仅过滤 A 列 2014 年的数据 B 列 ActiveSheet Range A 1 AR 1617 AutoFilter Field 5 Operator x
  • Word通过vba宏删除tabe列出现错误

    我想将excel中的数据复制到word表中 然后从表中删除一些列 我可以将数据复制到表中 但是当我删除列时会出现错误 无法访问此集合中的各个列 因为该表具有混合的单元格宽度 我的代码 Public Tbl1 As Table Sub cal
  • 复制一张工作表上的静态范围,然后根据单元格中的单个值粘贴到另一张工作表中的动态范围

    我对这个问题分为三个部分 我在 Sheet1 A1 中有一个带有周数的单元格 我在 Sheet1 B1 F1 中有一个需要复制的静态范围 然后 我需要将该值粘贴到 Sheet2 中的动态范围中 偏移量为行的周数 这是我正在为我经常使用的工作
  • 根据单元格值向用户窗体添加复选框

    我对 VBA 很陌生 只有 3 天 但我发现它非常有用且易于使用 但现在我面临一个问题 我需要制作一个具有不同复选框的用户窗体 但我需要根据工作表某一列中使用的信息自动添加它们 我相信我可以使用 For Each Next 但我真的不知道如
  • VBA 字符串 255 个字符限制

    我在使用 VBA 时遇到问题 并注意到它的字符串限制为 255 个字符 我实际上正在尝试通过 POST 发送 JSON 并暂停执行 我注意到该字符串始终只有 255 个字符 有没有办法调整字符串的大小或其他什么 我在这个问题上浪费了大约 6
  • 将ADODB二进制流转换为字符串vba

    我有以下问题 我有一个存储在服务器上的 CSV 文件 但它有 3 个字符作为分隔符 我想从 URL 加载数据并使用 作为分隔符将数据填充到 Excel 页面的列中 到目前为止 我找到了使用 ADODB 记录集从网站加载文件的代码 但我无法进
  • VBA在多个文件夹中搜索特定子文件夹并移动其中的所有文件

    你能帮助我吗 我想要一个宏vba来搜索SPECIFIC例如 所有存在并移动其文件的文件夹和子文件夹之间的子文件夹 Xfolder P Desktop Folder1 subfolder SUBFOLDER1 Xfolder 我正在使用 VB
  • 从 MS Access 调用存储过程会导致错误 3146

    当我使用下面所示的代码从 MS Access 前端调用 SQL Server 存储过程时 它停止运行并抛出运行时错误 3146 这个存储过程在 SQL Server 中工作正常 但是当我从 MS Access 运行时 它首先工作 但突然停止
  • Excel 2013 数据透视表不会更改当前页面,除非手动导航到

    我们有一小段 VBA 代码 多年来一直完美运行 本质上是 Me PivotTables APivot PivotFields AField CurrentPage Some text 这种方法一直有效 直到 Excel 2013 该行将失败

随机推荐

  • 重写 Zuul 过滤器 SendErrorFilter

    org springframework cloud netflix zuul filters post SendErrorFilter 类处理错误响应 我想重写此过滤器以在转发等时执行自定义响应而不是 ZuulException 我怎样才能
  • 如何查找数据框中每个日期对应的唯一ID的数量

    我有一个如下所示的数据框 date time id datetime 1 2015 01 02 14 27 22 130 999000000007628 2015 01 02 14 27 22 2 2015 01 02 14 41 27 7
  • 在 Android 中添加 Layer 库依赖项会抑制 requestPermissions 对话框

    我制作了一个非常非常小的演示应用程序 在运行 Android 版本 6 0 1 的 Nexus 5 上重现该错误 该应用程序位于 github 上 https github com lexi sr LayerPermission 我最近添加
  • 执行矩阵的成对比较

    我有一个由 n 个变量组成的矩阵 我想创建一个新矩阵 它是每个向量的成对差异 但不是其本身 这是数据的示例 Transportation services Recreational goods and vehicles Recreation
  • 使用 RecyclerView 可以扩展列表吗?

    可以将可扩展列表项与新的 RecyclerView 一起使用吗 喜欢 ExpandableListView 吗 使用库存布局管理器可以很简单地做到这一点 这完全取决于您如何管理适配器 当您想要扩展某个部分时 只需在标题之后将新项目添加到适配
  • GCM 注册时出现 INVALID_SENDER 错误

    我正在开发应用程序 我想在其中实现推送通知 因为我正在使用 GCM 我已在 google console 上注册了我的项目 并使用项目 ID 作为 GCM 注册的 senderID GCMRegistrar checkDevice this
  • Android 的基本组件的类加载和_java对象_生命周期

    虽然从 API 角度来看 关于应用程序 活动等生命周期的资源有无数 onCreate Destroy Whatnot 方法 几乎没有任何关于这些组件的实际对象生命周期的信息从Java的角度来看 例如 我 在 YouTube marakana
  • 使 Adob​​e 字体在 IE9 中与 CSS3 @font-face 配合使用

    我正在构建一个小型 Intranet 应用程序 并尝试使用 但没有运气Adobe字体我最近购买了 据我所知 在我们的案例中 这并不违反许可证 我将 ttf otf 版本的字体转换为 woff eot 和 svg 以便针对所有主要浏览器 我使
  • 如何动态更改 JXTreeTable 中特定单元格的颜色

    我在用JXTreeTable现在为了制作树表结构 我想动态更改特定单元格的颜色 如何改变单元格的颜色 我发现这段代码可以改变颜色 但这不起作用 这是代码 leftTree setDefaultRenderer Object class ne
  • 在Python中获取或构建PEM证书链

    是否可以使用 ssl 和 Python 获取 PEM 格式的整个证书链 我可以通过以下方式获得具体的 import ssl addr 192 0 2 1 cert str ssl get server certificate addr 44
  • Python - TypeError:listen() 缺少 1 个必需的位置参数:'self'

    我一直在 PyCharm 中开发 AI 但我似乎在尝试调用方法来尝试获取音频输入时遇到了 voice recognition 错误 Users waynedeng Desktop AI venv bin python Users wayne
  • 如何将新的用户控件添加到工具箱或新的 Winform?

    我有一个现有的库 不是 Winforms 应用程序 它为真正的 Windows 应用程序提供一些 Winforms 在这个库中 我想创建一个用户控件来将一些控件分组在一起 为了实现这一目标 我右键单击 添加 用户控制并将一些控件拖到新的用户
  • 在 Sublime Text 构建系统中使用自定义变量

    我正在 macOS 上配置 Sublime Text ST 构建系统 我想创建一个构建系统变体 将构建产品输出到我的用户库中的文件夹 但我找不到解决该目录的方法 The ST 构建系统文档提到构建系统变量的可用性 但它们都不允许我寻址我的主
  • 集合视图,具有自定义布局,单元格在滚动时行为异常

    我正在尝试使用 UICollectionView 创建自定义平铺布局 一旦我运行我的应用程序 它就会在模拟器中完美呈现 但是当我滚动视图并将其带回时 所有单元格的框架都会发生变化 并且单元格会重叠 随机留下空格 过去两天我无法解决这个问题
  • 如何在“CollectionEditor”对话框中启用属性的默认值

    请先阅读整个问题以理解where我将能够重置属性的默认值 当定义一个可以可视化设计的自定义类时 可以实现一个集合编辑器来修改列表 数组 集合等属性 使用以下模式 Editor typeof CollectionEditor typeof U
  • 使用 Microsoft Jet OLEDB 的 CSV 列限制

    我正在从包含大约 350 列的 CSV 导入数据 这个 CSV 导入是固定的 我完全无法控制它 如果我尝试在 Excel 2003 中打开 CSV 由于列限制为 255 IV 它只能部分加载 当我使用 OleDb 和 Microsoft J
  • Python 挑战字符串编码

    我有以下提供者列表 俄语 providers u u041e u041e u041e u041a u0432 u0430 u0440 u0442 u0430 u043b u041b u0435 u043e u043f u043e u043b
  • 如何在 Spring.NET 中配置静态类的属性?

    如何通过 Spring NET 配置静态类 考虑下面的类 static class Abc public Interface xyz get set public void Show xyz show 也许解决方法可以帮助 这不是一个静态类
  • OpenCV imwrite 函数导致“未定义符号”

    我正在开发一个软件 它由一些带有 python 绑定的核心 C 代码组成 C 代码已经使用了大量 OpenCV 但现在我试图在两者之间保存图像 但我似乎无法使用imwrite功能 将其添加到 main cpp 中并使用 默认 构建在 ecl
  • 如何使用表单名称作为字符串创建新的表单实例

    使用表单名称创建封闭表单的新表单实例的代码 我想用变量替换长的选择案例列表 模块完整代码 在 Access 2010 中 我有一个 VBA 函数 当给定包含表单名称的字符串时 该函数会打开表单的新实例 通过将表单变量 frm 添加到集合中