相关疑难解决方法(0)

ComboBox不允许我选择项目

这应该是一个快速的访问兽医,但从尝试不同的属性和谷歌搜索,我无法解决它:

我表单上的组合框不允许我选择项目/值.我点击它,它已正确填充,但我无法选择任何项目.此组合框的控件源设置为查询(表单所基于的)查询中的表中的字段.此组合框的行源设置为一个表,该表定义允许的选择(例如"1","2","3","4"或"5").所以,我想将数据限制为仅仅在组合框的行源中指定的项目 - 这是我的解决方案.

表单设置为允许编辑,添加等.组合框控件未设置为"锁定".

想到任何解释/解决方案吗?

编辑:如果控件是一个文本框,这也适用 - 它必须是控件源的错误?

ms-access

10
推荐指数
1
解决办法
3万
查看次数

ADO Recordset数据未在表单中显示

我在MS Access 2010上遇到了令人沮丧的问题,我现在在这个问题上有资格作为一个bug.在尝试了所有可能的解决方法之后,我没有想法并且依赖于你.


上下文

巨大的Access Access 2010应用程序,具有25k行VBA和> 50个表单.它有一个客户端服务器体系结构,其前端已编译,网络上有Access后端.它连接到二十几个不同的数据库(Oracle/SQL Server/Sybase IQ).


问题

有时,当我将ADODB记录集分配给子表单时,其数据不会显示在绑定字段中.我#Name?到处都是

数据就在那里.我可以debug.print,我可以在Watches浏览器中看到它,我可以在使用代码循环记录集对象时读取或操作它.它只是没有出现在子表单中.

它可以在几个月内完美地工作,突然一个表格将开始出现这个问题而没有任何明显的原因(即使在我没有改变的表格上也可能发生).当它发生时,它适用于所有用户,所以这在前端accdb/accde中确实是错误的.

该问题与特定的DBMS /驱动程序无关.Oracle或Sybase数据可能会发生这种情况.

我创建了自己的类,抽象出与ADO连接和查询相关的所有内容,并在各处使用相同的技术.基于它,我有十分之几的表格,而且大多数表现都很完美.

我在我的应用程序的几个部分中遇到了这个问题,特别是在具有大量子表单和代码的高度复杂的表单中.在这个主表单上,一些子表单有问题,而其他子表单没有.它们具有完全相同的参数.


代码

这就是我填充表单记录集的方式:

        Set RST = Nothing
        Set RST = New ADODB.Recordset
        Set RST = Oracle_CON.QueryRS(SQL)

        If Not RST Is Nothing Then
            Set RST.ActiveConnection = Nothing
            Set Form_the_form_name.Recordset = RST
        End If
Run Code Online (Sandbox Code Playgroud)

调用的代码Oracle_CON.QueryRS(SQL)

Public Function QueryRS(ByVal SQL As String, Optional strTitle As String) As ADODB.Recordset

    Dim dbQuery As ADODB.Command
    Dim Output As ADODB.Recordset
    Dim dtTemp As …
Run Code Online (Sandbox Code Playgroud)

sql ms-access vba ado ms-access-2010

9
推荐指数
1
解决办法
1027
查看次数

编辑迷路了

背景:

拆分访问数据库,最多两个用户.后端位于映射驱动器上的两台计算机之一,前端是本地的.计算机通过wifi连接到路由器.(我试图让他们通过电缆连接电脑失败)

编辑:此问题现在发生在单个用户环境中.

问题:

这只发生在一个特定的形式上.它的基础表有一个多值字段.

问题1:我们的情况是编辑一个字段,但只要焦点移动到另一个字段,编辑就会恢复为原始值.

问题2:编辑一个字段时,其他一些字段将获取先前显示的记录的值.

注意:从一个记录到另一个记录的导航操作如下:

    Me.RecordsetClone.FindFirst "ID = " & cmbLocateRecipientID
    Me.Bookmark = Me.RecordsetClone.Bookmark
Run Code Online (Sandbox Code Playgroud)

问题只发生在偶然.

这在Access方面是一种非常奇怪的行为,因此当用户首次报告问题时,我确信他们错误地将信息输入到另一条记录中.但是,他们已经向我展示了现场发生的问题.

关闭并重新打开表单可以解决问题.但是,它们显然不能以这种方式工作.

我无法在我的开发机器上重现这个问题.

ms-access multi-user ms-access-2010

7
推荐指数
1
解决办法
158
查看次数

在change事件处理程序中获取文本框值

我编写了一个表单,在文本输入文本框时异步执行查询,但是我有点随意地抛出以下错误:"除非控件具有焦点,否则无法引用控件的属性或方法."

直接相关的代码是:

Dim UpdateRequested As Boolean
Dim qryText As String

.
.
.

Private Sub txtBox_Change()
    qryText = txtBox.Text
    UpdateRequested = true
End Sub
Run Code Online (Sandbox Code Playgroud)

省略号中的一些位置是处理动态加载ADODB记录集,填充本地表和刷新子表单的代码.但是,即使我禁用此代码,问题仍然存在:有时我得到错误.有时我没有.

通过关闭数据库并重新打开它似乎是持久的.每次它再次开始工作时,都是因为我一直在调试器中使用代码,但我不确定究竟是什么导致它神奇地"正常工作"或导致它根本无法工作的原因.

更新

为了让事情更令人费解,我添加了几个简单的事件处理程序:

Private Sub txtBox_GotFocus()
    MsgBox "Got focus"
End Sub

Private Sub txtBox_LostFocus()
    MsgBox "Lost focus"
End Sub
Run Code Online (Sandbox Code Playgroud)

我运行表格.我点击测试框.我收到"有焦点"的消息.一旦我输入,我就会看到如上所述的错误.如果我重新打开表单,我可以在有问题的文本框(它本身是未绑定的)和子表单中的绑定文本框之间单击,并且可以看到"获得焦点"和"丢失焦点"消息.此外,显示一个当前值为"Screen.ActiveControl.Name"的消息框显示了访问Text属性之前的预期名称.

ms-access vba access-vba

5
推荐指数
2
解决办法
2万
查看次数

无法打开数据库,因为无法读取其中包含的VBA项目

今天早上,我收到了这个错误

Error accessing file. Network connection may be lost

无论我在任何形式上做什么.所以我打开了一个空白数据库并导入了一切.发生了一些错误,但它表示导入成功.我能够再次打开我的表格.然后我回去了旧版本,然后当我尝试打开数据库时出现此错误

The database cannot be opened because the VBA project contained in it cannot be read
Run Code Online (Sandbox Code Playgroud)

即使我在第一次错误之前做的备份现在就说了.

我尝试再次导入,导入时出错.

我现在变得紧张,请告诉我有办法解决这个问题

谢谢

ms-access ms-access-2010

3
推荐指数
1
解决办法
3万
查看次数

MS Access不需要的BreakPoint

我有一个复杂的MS Access 2013数据库,具有数十种形式。在其中一种形式上,我有一个带有vba过程的按钮,该按钮可以从MS SQL(ADODB)返回值并将其放入文本框。

问题是,每当我单击此按钮时,它就会进入编译菜单,好像有一个breakpoint,但实际上没有breakpoint。当然没有错误/ MsgBoxes,如果我单击F5F8,它会很好。有谁的主意,可能是什么问题?

ms-access vba access-vba ms-access-2013

2
推荐指数
1
解决办法
403
查看次数

ms-access 2003:表单无法打开!救命!

我有一个带有窗体的访问数据库,其中一个窗体未打开。我双击它,我试图在设计模式下打开。没发生什么事。没有错误消息,但是什么也没有发生。

有人遇到过这个问题吗?

对不起,我现在实际上遇到了错误:

该错误表明没有足够的内存来打开它或达到此目的的东西。

ms-access

1
推荐指数
1
解决办法
5132
查看次数

有没有办法从损坏的数据库导出代码?

上周我在程序崩溃时修改了访问2010 db中的两个模块的部分,并且每次我尝试打开db时都会崩溃.我能够创建一个新数据库并从损坏的数据库中导入表和查询,但是当我尝试导入表单/宏/模块时,新数据库也会开始崩溃.我保留每日备份,但最终失去了几个小时的工作量.这种情况上周发生了两次,每次MS Access都会在没有警告的情况下崩溃并且VBA无法恢复.

该功能按预期工作,直到db崩溃似乎在某个未知点.我的VBA代码一定存在某种问题,因为这只是在我上周开始修改模块时才开始发生,但我无法确定它,因为在没有执行任何操作时实际发生了崩溃.即在保存期间.

有没有人知道是否可以将VBA导出而无需将其导出到另一个数据库?即导出它而不必使用MS Access这样做.在相关的说明中,是否有人创建了一个库,将查询定义,表模式和所有VBA导出到文本文件中,我可以将它们放入源代码管理中?

谢谢.

ms-access vba ms-access-2007 access-vba ms-access-2010

1
推荐指数
1
解决办法
4401
查看次数