首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenArgs? Access 2007 - Docmd.OpenForm未打开窗体?

OpenArgs? Access 2007 - Docmd.OpenForm未打开窗体?
EN

Stack Overflow用户
提问于 2010-07-24 21:42:37
回答 2查看 8.9K关注 0票数 0

因此,我尝试使用按钮单击来打开下一个表单(在我的表单流中),并使用openArgs将ID传递给下一个表单:

代码语言:javascript
复制
docmd.openform "NextForm",,,,,, MainID
docmd.close acform, "CurrentForm", acSaveYes

第二个表单将无法打开...我以前从未在sub中使用docmd.openform遇到过此问题。然而,这是我第一次使用OpenArgs....usually,我会将一个值传递给一个隐藏的文本框,但我正在尝试不同的东西。

例程运行时没有错误,currentform恰如其分地关闭。这就像access确信第二个表单实际上是开放的,但它没有显示出来。此外,如果我试图显示数据库对象窗口,只需单击从there.....nothing打开表单

请帮帮我!谢谢,贾斯汀

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-24 22:20:38

这就像是access确信第二个表单实际上是开放的,但它没有显示出来。

如果在表单显然无法打开时没有收到错误消息,请检查Forms集合中是否存在NextForm。在“即时”窗口中,尝试:

代码语言:javascript
复制
? Forms("NextForm").Name

会发生什么?Forms集合包括打开的表单。如果您收到一条错误消息,指出找不到NextForm,则说明NextForm未打开。但是,如果该命令返回名称NextForm,则表单是打开的,但您看不到它。

这至少可以通过两种方式实现:

  1. 表单已打开隐藏
  2. 表单已在您的可见显示区域之外的屏幕位置打开

如果窗体确实没有打开,并且您没有收到错误消息,请确保没有关闭SetWarnings和Echo。

如果这些建议不能帮助您找到解决方案,请向我们展示NextForm试图用OpenArgs做什么。如果你暂时禁用NextForm的OpenArgs处理代码,你能打开它吗?

更新:还有几个问题...

是否可以在“设计”视图中打开NextForm?

如果在“即时”窗口中尝试执行以下命令,会发生什么情况?错误消息?

代码语言:javascript
复制
DoCmd.OpenForm "NextForm",,,,,acWindowNormal
票数 4
EN

Stack Overflow用户

发布于 2015-06-06 01:03:50

您可以在不使用open Args的情况下打开并控制表单

为此,您可以打开另一个窗体,就好像它是一个类一样

创建一个名为GlobalVars的模块,其中包含以下代码行:

代码语言:javascript
复制
Public Form_MyFormNameToOpen as Form_MyFormNameToOpen

(您打开的表单将保持打开状态,直到此变量“死亡”,因此请将其设置为全局变量以使其保持活动状态)

MyFormNameToOpen是您要打开的表单的名称,在我的一些示例代码中,前面有Form_。这告诉access获取一个“窗体类”,即你创建的一个窗体。

然后在你想要打开一个表单的代码中使用:

代码语言:javascript
复制
' Opens the form using it as it were a class
Set GlobalVars.Form_MyFormNameToOpen = New Form_MyFormNameToOpen

' The modify the form you have just opened however you want to.
With Form_MyFormNameToOpen
    .Visible = True

    ' This relies ont he control names never changing
    .Controls("ProviderID") = 10
    .Controls("ProviderFileID") = 11


    ' it's better to use properties created on the called form
    ' eg
    .MyLetProviderID = 10
    .MyProviderFileID = 11
End With

我希望这能帮到你。

我发现除了最基本的事情之外,使用开放参数是一件非常痛苦的事情。使用这样的表单使生活变得容易得多。

(也许您可以对子表单等使用类似的技术...)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3325321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档