【问题标题】:Reconciliation Ms Access records VBA and generate error messageReconciliation Ms Access 记录 VBA 并生成错误消息
【发布时间】:2013-12-06 13:10:51
【问题描述】:

我需要将 excel 表和 MS access 2010 表之间的记录与不同列中的相同数据进行核对。需要在唯一 ID 的帮助下根据 MS access 中的值验证 excel 表并生成MS 访问报告中该唯一 ID 的错误消息如下格式。

目前我已经根据下面的架构创建了一个表并将其映射到报告中。现在我需要比较记录并在下表中填充错误消息。

我是 VBA 的新手,请帮助我使用没有性能容差的最佳方法,例如避免大量循环..

表架构:员工

员工 ID、员工姓名、员工薪水

1,测试仪,5000

Excel 工作表架构:员工

ID、姓名、薪水

1,测试仪,4000

要求的输出报告:Ms ACCESS 2010

文件名、唯一 ID、列名、差异

Employee,1,Salary,访问工资不同于excel表工资

【问题讨论】:

  • 请编辑您的问题以提供更多详细信息。源 Access 表的结构是什么? Excel工作表中数据的结构是什么?数据值是什么样的? (也就是说,向我们展示一些具有代表性的示例数据。)您是否至少已经在 Access 中创建了一个指向 Excel 数据的链接表,以便您可以查询它?
  • 感谢 Gord Thompson,我不确定链接表。我们只是将 excel 中的数据与访问表进行比较以进行对账。请帮助我通过 VBA 实现这一目标。

标签: excel ms-access vba excel-2010 ms-access-2010


【解决方案1】:

您可以在不使用任何 VBA 的情况下实现您想要的结果。首先在 Access 中创建指向 Excel 数据的链接表。详细说明可以在这里找到:

Import or link to data in an Excel workbook

我将我的链接表命名为 [ExcelData],所以当我在 Access 中打开它时,它看起来像这样:

要执行协调,我们需要做的就是创建一个这样的查询:

请注意,第四列的Field: 值为

Difference: "Access salary <" & [Employee].[Employee Salary] & "> is different from Excel sheet salary <" & [ExcelData].[Salary] & ">"

作为参考,该查询的整个 SQL 语句是

SELECT 
    "Employee" AS [File Name], 
    Employee.[Employee ID] AS [Unique ID], 
    "Salary" AS [Column Name], 
    "Access salary <" & [Employee].[Employee Salary] & "> is different from Excel sheet salary <" & [ExcelData].[Salary] & ">" AS Difference
FROM 
    Employee 
    INNER JOIN 
    ExcelData 
        ON Employee.[Employee ID] = ExcelData.ID
WHERE (((Employee.[Employee Salary])<>[ExcelData].[Salary]));

该查询返回以下内容:

【讨论】:

  • 感谢 Gord Thompson,但它有大量类似的工资列需要验证数据,请您帮我创建查询。提前谢谢..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-29
  • 2013-03-15
  • 1970-01-01
  • 2014-07-24
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多