【问题标题】:ms-access listbox weirdness (memory issue?)ms-access 列表框怪异(内存问题?)
【发布时间】:2009-08-31 18:55:29
【问题描述】:

我有一个巨大的 sql 查询附加到列表框的行源。

这里看到的 SQL 语句:

ms-access: select from another query

如果信息少于 2 条记录,则实际上返回正确的信息。

但是,如果它返回超过 2 条记录,它仍然会填充列表框,但会使用空值填充它。当我右键单击其中一个值并按复制时,它会给我以下消息:

“没有足够的内存来检索列表框的数据”

【问题讨论】:

  • 我认为您需要处理查询以确保减少不必要的 JOIN 并收紧条件。
  • 您认为连接会导致内存问题吗?
  • 尝试运行查询并查看它的执行情况?每次 esp 时,Access 都会重新运行或刷新查询。当它被数据绑定到某个控件时。
  • 我无法运行它,因为我需要合二为一才能运行
  • Access 不会 多次刷新组合框和列表框的记录源——它会在加载表单或加载行源时加载它。为了改变返回的记录集,你必须在代码中重新查询——它不会自动发生。

标签: sql mysql ms-access vba


【解决方案1】:

但是,如果单独运行查询是否有效?查询中的列数是否与您在列表框列计数属性中指定的列数相同?

在您的回复中,您声明您必须合并它?为什么?基本的故障排除是看您是否可以运行与 lixtbox 分开的查询。

【讨论】:

  • 如果我从查询视图运行它,我会得到一个数据类型不匹配的条件表达式错误
  • 顺便说一句,我可以毫无问题地运行 USERS 查询
  • 数据类型不匹配?优秀的。修复它可能会很好地解决列表框的怪异问题。要检查的一件事是 chavrusas.luser_id 字段的字段类型。如果它是数字,则删除 '3166' 周围的单引号。
  • 列数最好相同。现在这可能没有什么不同,但几年前在以前的 Access 版本中这是一个问题。
  • 顺便说一句。如果您必须在其他地方使用相同的查询,您总是可以进行第二次查询,从第一次查询中选择所有内容,并且只有您需要的列。
猜你喜欢
  • 2019-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多