【问题标题】:DLookup is returning BlankDLookup 返回空白
【发布时间】:2014-05-27 04:25:47
【问题描述】:

我对 Access 还很陌生,但是因为我使用 Excel 多年,所以我已经掌握了大部分基础知识。我正在尝试在桌子上进行 DLookup。这张桌子真的很大。

我的 DLookup 返回空白。它没有给我一条错误消息或返回“null”。它只是空白。我正在搜索文本字段以返回数值。我在下面使用这个:

结果:DLookUp("[Meas]","[Database]","[Description]='" & [Description] & "'")

表格如下所示:

Description                 Weight(g)    Measure                        Protein(g)Per Measure       Cholesterol(mg)Per Measure
Butter, salted              5            1.0 pat (1" sq, 1/3" high)     0.04                        11
Butter, whipped, with salt  3.8          1.0 pat (1" sq, 1/3" high)     0.03                        8
Butter oil, anhydrous       12.8         1.0 tbsp                       0.04                        33
Cheese, blue                28.35        1.0 oz                         6.07                        21
Cheese, brick               132          1.0 cup, diced                 30.68                       124
Cheese, brie                28.35        1.0 oz                         5.88                        28

知道是什么原因造成的吗?还是我需要尝试将其放入 VBA 中?

【问题讨论】:

  • 请更好地解释问题并发布更多代码
  • 这是我使用的唯一代码。它适用于所有其他表,但不是这个。我想这可能是它的格式。它应该查找描述列并返回另一列中的内容......比如说蛋白质列。
  • Description 的值来自哪里,它包含什么?
  • BTW 数据库不是一个合理的表名称。
  • 出于同样的原因,Description 是一个不好的字段名称。

标签: excel vba ms-access


【解决方案1】:

从您提供的示例代码中,我看到的唯一问题是表中有一个名为Measure 的列,但您在DLookup 中选择了Meas

您可以尝试的另一件事是:在 Access 中创建一个新查询,切换到 SQL 视图,粘贴以下 SQL 并尝试执行查询:

select [Meas] from [Database] where [Description]='whatever'"

(这是与您的 DLookup 语句等效的 SQL)

它运行时没有错误吗?
如果是,它是否返回任何行?


如果这些都没有帮助,您需要提供更多信息。

首先,我想看看 exact 列名和 exact DLookup 语句。
我不确定您是否向我们提供了真实数据,因为您说“表格看起来类似到下面”。类似的还不够!

【讨论】:

  • 嗨,Christian,这是我正在使用的表格,但我正在使用组合框/列表。该列表采用不同的形式。当我选择那个描述时,它应该返回蛋白质值,但它没有。它是空白的。我发现其他人在哪里遇到了这个问题。 stackoverflow.com/questions/22744099/access-2013-dlookupI 认为这只是侥幸。它在 Excel 中完美运行。
猜你喜欢
  • 1970-01-01
  • 2018-12-23
  • 2017-11-20
  • 1970-01-01
  • 2011-05-27
  • 2012-09-06
  • 2018-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多