【问题标题】:Use a value from a combo/text box in a file path string在文件路径字符串中使用组合/文本框中的值
【发布时间】:2010-11-11 03:25:46
【问题描述】:

我有一个表格,我打算让用户通过它浏览 powerpoint 演示文稿,因为有很多不同的指标简报,这就是我使用这个数据库的目的。所以,我已经知道如何设置所有内容了,只是稍微挂断了一点。

如果我在表单上放置一个组合框以从不同的演示文稿列表中进行选择,我可以在文件路径字符串中使用它吗(我必须使用它来将 ppt 拉到访问对象框架中。

示例:

"C:\Users\Justin\Desktop\" & cmbTitle & ".ppt"

我试过了,它给了我未定义的错误消息变量。我之前从来没有在这些东西上定义过控件,它会是一个字符串吗?

我意识到确切的文件路径与输入的值非常匹配。访问 2000-2003/XP

一如既往地感谢大家!

【问题讨论】:

  • 你能编译VBA吗?如果编译不是引发错误的原因,那将非常有趣。由于您的直接目标大概是让 Title 出现,因此不必担心完整路径并尝试仅 Debug.Print Title 字符串。更多上下文可能会有所帮助。例如,您的路径出现的代码。
  • 如果他在模块顶部没有OPTION EXPLICIT,任何老东西都可以编译。
  • 此外,引用代码的单行实际上是引发错误的行并不是 100% 清楚的。
  • 好吧,我只是得出了这个结论,因为在我开始尝试将其放入之前,代码运行良好。现在就开始吧;不知道我在想什么不加我。在前??谢谢大家

标签: ms-access vba variables vb6 combobox


【解决方案1】:

您需要将该字段称为Me.cmbTitle。正如它所写的那样,看起来您正在调用不存在的变量 cmbTitle。

【讨论】:

  • 虽然我认为指定 cmbTitle 的父级是最佳实践(尽管我会使用 Me!cmbTitle 而不是 Me.cmbTitle,这依赖于幕后的 Access/VBA 创建隐藏的属性包装器允许将控件视为表单的属性;这具有编译时验证的一个优点),它不应该是必需的,因此似乎正在发生其他事情。
  • 确实成功了。不知道我在想什么不加我。在它面前!不过谢谢!
【解决方案2】:

cmbTitle 的值是某个 ID/Integer 字段还是实际的字符串值?您可能想使用即时窗口来检查这一点。另外,请确保 cmbTitle 的值没有任何反斜杠或空格(可能需要引号?)。

【讨论】:

    【解决方案3】:

    我对您要做什么感到有些困惑。我会写我的答案假设:

    1. 您在 Access 数据库中有一个表单。

    2. 该表单上的组合框列出了您的用户正在使用的 PowerPoint 演示文稿。

    3. 组合框的绑定列列出了每个PPT文件的文件名(不带路径)。

    4. 当用户从组合框中选择文件名时,您希望将其显示在未绑定的 OLE 对象框架中。

    假设 PPT 文件列表名为 cmbTitle,其代码将位于组合框的 AfterUpdate 事件中,如下所示:

      Private Sub cmbTitle_AfterUpdate()
        Dim strPresentation As String
    
        If IsNull(Me!cmbTitle) Then Exit Sub
        strPresentation = "C:\Users\Justin\Desktop\" & Me!cmbTitle & ".ppt"
        Me!olePPT.SourceDoc = strPresentation
      End Sub
    

    现在,我无法获得一个测试未绑定的 OLE 对象框架来处理它,但在我看来这是正确的方法。

    我的怀疑是您要么尝试设置错误的属性,要么错误地定义了 OLE 框架,但在不了解您实际尝试的内容的情况下,我无法提供更多建议做什么,以及究竟是哪一行代码导致了错误。

    【讨论】:

    • 是的,我应该把整件事都贴出来。我在很多方面都是新手。编译错误是“变量未定义”,但我忘记输入“我!”或者我。” cmbTitle 前面。我一做就很好。不过,我仍然会发布整个代码,因为我确信还有更多我确实需要/欣赏的建议!谢谢
    • 奇怪。如果没有父引用,访问通常可以正常工作。
    猜你喜欢
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2015-07-10
    相关资源
    最近更新 更多