【问题标题】:Access table and excel sheet join访问表和 Excel 工作表连接
【发布时间】:2020-06-04 16:52:23
【问题描述】:

我必须将最新的访问记录附加到带有访问表标题的 excel 表中,其中 excel 表 (LAN) 中的列与访问表中的列 (LAN) 匹配。到目前为止,这是我的代码:

 qry = "Select (Select Call_Date from Tel_List Where t.LAN=Tel_List.LAN And Ctrl=(Select Max(Ctrl)  From Tel_List Where t.LAN=Tel_List.LAN)) From [Excel 12.0;HDR=Yes;Database=C:\Boda Boda Banja Ltd\Modules\Prototypes\UG RFIN UI 1.0.xlsm].[TEL_List$]t Inner Join Tel_List on t.LAN=Tel_List.LAN Where Ctrl=(Select Max(Ctrl) From Tel_List Where t.LAN=Tel_List.LAN)"

代码返回值,但未附加到相关行。下面是从访问表中检索上一个通话日期后的屏幕截图。

有没有办法将数据附加到相关行?

【问题讨论】:

  • 您是否要向 Access 表中添加记录?还是要更新 Access 表中的现有记录?该 SQL 中的任何内容都不会追加或更新记录。这将需要一个 INSERT 或 UPDATE 操作。还是要将数据导出到 Excel 工作表? Access 中的查询无法做到这一点。
  • 我不是在尝试插入或更新,而是在尝试使用“LAN”列加入访问表和 Excel 表。 LAN 在 Excel 工作表中只会出现一次,但在访问表中可能会出现多次。 excel 表中的某些 LAN 可能不在访问表中。我想加入某些专栏。我已经完成了加入,但它并没有针对每个 LAN 发生。
  • 为什么不设置工作表的链接?然后将链接用作查询中的表。将示例数据显示为相关文本表。
  • 'Append' 通常意味着添加一些东西。我认为对于 Excel 中的每个 LAN,您只想在访问中找到 1 条最新记录并报告某些字段的值。关系是 Excel 中的 1 条记录在 Access 中可以有 0,1 条或多条记录。对吗?
  • 是的。我可以使用“for each”循环,但由于数据在网络上,它需要太多时间。此外,数据库是多用户的。

标签: sql excel vba ms-access join


【解决方案1】:

试试

Const WORKBOOK = "C:\Boda Boda Banja Ltd\Modules\Prototypes\UG RFIN UI 1.0.xlsm"
Const SQL = "SELECT e.LAN, Max(a.Call_Date) " & _
            "FROM Tel_List AS a " & _
            "INNER JOIN [Excel 12.0;HDR=Yes;Database=" & WORKBOOK & "].[TEL_List$] AS e " & _
            "ON a.LAN = e.LAN " & _
            "GROUP BY e.LAN;"

【讨论】:

  • Const wb = "C:\Boda Boda Banja Ltd\Modules\Prototypes\UG RFIN UI.xlsm" Const sql = "SELECT e.LAN, Max(a.Call_Date) " & _ "FROM Tel_List AS a " & _ "INNER JOIN [Excel 12.0;HDR=Yes;Database=" & wb & "].[TEL_List$] AS e " & _ "ON a.LAN = e.LAN " & _ "GROUP BY e.局域网;" mrs.Open sql, mcon Set mrs = Nothing mcon.Close
  • 显示没有给一个或多个必需参数的值错误,如何声明'const'?
  • @Jishnu 在您的问题中,它说 Excel 中的列名是 LAN,所以这就是我在 SQL 中使用的名称,但是我在屏幕截图中注意到它是 LANnum?
猜你喜欢
  • 1970-01-01
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多