gpt4 book ai didi

ms-access - VBA创建/更新任意数量的 Access 表

转载 作者:行者123 更新时间:2023-12-02 04:03:50 24 4
gpt4 key购买 nike

我目前正在一家公司实习,我的老板要求我为他们所进入的新市场创建一个传输,费用,信用等数据库。我创建了一个小Java程序,可通过该程序下载约130 CSV数据,有些是空的,有些不是。程序然后删除空的。

他们在Access中完成大部分工作,这是我正在学习的很快,但这不是我的专长。我已经为他们的销售人员和自动化编写了一些VBA程序/脚本,现在我想将代码添加到此Access数据库中,以便以编程方式对其进行更新。

问题是,我看到的用我下载的数据制作/更新这些表的唯一方法是分别构造所有130个表,并分别为每个报表构造SELECT和INSERT查询。但是,由于一个表在给定日期范围内可能有也可能没有数据,因此我需要构造所有表和查询。

来自编程背景,我很喜欢它,因为它有一个高水平的抽象,我可以做这样的事情

For each file f in Directory d
Get report title
If there is a table with the same report title
Insert any unique values into that table
If there isn't a table with that report title
Create it, and then insert unique values into that table
End

但是,看起来我真的不能做这样的事情。

我正在考虑另一种方法
  • 将报告写出到仅包含订单项(无标题)的新csv文件中
  • 设置链接到这些报告的表
  • 使用向导
  • 创建一堆 jar 装进口

    我与这家公司只剩下了几周的时间,所以我在为之找到解决方案,还是要务实而只是为一组核心报告建立逻辑,而这些报告应该始终包含数据时,感到很痛苦。任何帮助/建议,将不胜感激。

    最佳答案

    您可以肯定地做一些高级摘要,Tom,这是您需要的区域:

    FileSystemObject(这可以循环浏览文件夹中的文件,还提供文件名)

    TableDefs(可以从数据库中提取表名称)

    我建议使用FileSystemObject将文件加载到临时表中,然后可以使用TableDefs属性确认相关表是否存在。如果是这样,则可以使用Remou提供的SQL来仅插入尚未在其中的行。如果您的表不存在,那么您可以简单地使用以下SQL来使用数据创建新表:

    SELECT * INTO NewTableName FROM TempTableName

    我还没有足够的时间来继续写出该过程,但是这两个属性应该将您带向正确的方向,如果您卡住了它们,请再次发布。

    祝你好运:)

    关于ms-access - VBA创建/更新任意数量的 Access 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8730217/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com