【问题标题】:Rows missing from linked Access query链接的 Access 查询中缺少行
【发布时间】:2013-01-07 11:40:21
【问题描述】:

使用 Excel 2007,我使用“数据”>“从 Access”按钮链接到 Access 查询,并将其设置为显示为表格。除了类型为“安置费”的任何行之外,所有行都存在。

例如在下面的示例中,Excel 表格中显示了免费案例填写扣除额,但没有显示安置费扣除额。此查询从 Access 导出为 Excel 格式,因此似乎是 Excel 在链接到它时忽略了这些行。

有什么想法会导致在链接到 Access 查询时忽略行吗?

Chain       Account     Distributor Warehouse  StoreID USDate    Type of Deduction  TotalValue 
Bob's Shops Bob's Shops SMITHS      Romeoville KH00463 5/1/2012  Free Case Fill     29.8 
Bob's Shops Bob's Shops SMITHS      Romeoville KH00463 5/1/2012  Placement fee      2.98 
Bob's Shops Bob's Shops JONES       Greenwood  UN20521 6/1/2011  Free Case Fill     38.81 

-编辑-

SQL 如下 - 大约有四五个堆叠查询,直到它下降到表级别。

安置费是单独计算的,然后直接从扣除表中添加到其余的扣除中,所以我唯一能想到的是它们的格式略有不同,Excel 忽略它们可能是因为值不是' t 与其他扣除相同的数字类型?但是,当我直接从 Access 导出查询时,所有内容看起来都是同一类型(即所有值都右对齐,因为它们被视为数字)。

SELECT Chain, Account, Distributor, Warehouse, StoreID, USDate, [Type of Deduction], SUM([Total Value($)]) AS TotalValue
FROM (SELECT Chain, Account, Distributor, Warehouse, StoreID, USDate, [Type of Deduction], [Total Value($)]
FROM DeductionsStoresGroupedByMonth
UNION ALL SELECT [Chain/Account/Warehouse], [Chain/Account/Warehouse2], Distributor, [Chain/Account/Warehouse3], StoreID, USDate, [Type of Deduction], [Amount($)]
FROM DeductionsByChainNoStoreID)  AS [%$##@_Alias]
GROUP BY Chain, Account, Distributor, Warehouse, StoreID, USDate, [Type of Deduction];

-编辑 2-

这个查询(以及其他三个类似的查询)在从 Excel 链接为表格时只显示两个空行 - 它只是一列字符串和一列整数,所以不知道这个问题是什么:

SELECT Deductions.[Distributor's Reference], Count(Deductions.StoreID) AS NumFreeCaseFills
FROM Deductions
WHERE (((Deductions.[Type of Deduction]) Like "*free case fill*") AND ((Deductions.Details) Not Like "*placement fee*"))
GROUP BY Deductions.[Distributor's Reference];

【问题讨论】:

  • 查询的SQL是什么?
  • 在上面添加,虽然没有达到表级别,但不确定它是否有帮助。
  • “Excel 忽略它们可能是因为这些值不是相同的数字类型”——似乎是可能的。 Excel 是否忽略了 UNION 中的所有内容?
  • 否,忽略的结果来自 DeductionsStoresGroupedByMonth 查询,而确实出现的结果来自联合查询的双方。将尝试导入子级查询以查看这些行在什么时候消失...

标签: excel ms-access rows missing-data


【解决方案1】:

试试ANSI-92 Query mode wild card charactersLike 模式。

WHERE
        Deductions.[Type of Deduction] Like "%free case fill%"
    AND Deductions.Details Not Like "%placement fee%"

【讨论】:

  • 是的,差不多就是这样 - 尽管可能需要设置 Access 以识别百分号 (switch to ANSI-92)。我真的不想进行这种更改,所以只是删除了通配符,因为在这种情况下它们并不是绝对必要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多