在搜索并尝试了几件事之后,是时候看看是否有人可以让我走上正确的道路。
背景
在我的应用程序中,要求管理员将CSV文件导入特定表。该工具'创建以下是为了使其尽可能灵活。虽然不是最优的,但某些CSV的列名称是非标准的,因此让管理员将CSV字段与表字段匹配是最灵活的。 "无"只是意味着不会将数据导入相应的表字段。
主窗体未绑定,包含3个未绑定的子窗体 - 所选的db表各一个,CSV临时表(CSV字段)以及所选表或CSV临时表的数据列表。它看起来像这样:
所有下拉列值都在VBA代码中设置。
当用户从顶部组合框中选择数据库表时,左子表单填充表的列,右子表单显示相应数量的下拉列表,其中填充了CSV临时表的列和选项"无"。
底部"数据" display允许用户通过单击" Table"来选择查看所选表的数据或CSV临时表数据。或" CSV"。
在底部子窗体中,右侧有一个按钮,允许用户更改导入到临时CSV表中的CSV。基本上用户浏览到新的CSV文件,原始临时CSV表将被删除,新CSV将导入新的临时CSV表( new,因为新CSV中可能有不同的列)
问题
除了在将新CSV导入临时表后刷新CSV字段组合框时,一切正常
我尝试过多次迭代,但所有迭代都是相同的 - CSV字段下拉列表(右上角子窗体中的 )显示#Deleted
所有条目都不会使用新临时CSV表中的新列名刷新。
已经尝试
在底部数据子表单按钮单击事件中调用CSV字段子表单的RefreshColumn
公共子例程,该事件调用填充原始下拉列表的CSV字段子表单中的原始子字段。它运行代码,但CSV字段下拉列表的显示不变。
Call Form_CSVfields.RefreshColumn
在调用原始填充子例程后,使用上面的.Requery
表示CSV字段子表单和/或CSV字段下拉列表。它再次运行代码,但CSV字段下拉列表保持不变。
在底部子表单的CSV导入按钮单击事件中为CSV字段子表单和/或CSV字段下拉列表添加.Requery
。与之前的结果相同,代码运行但CSV字段下拉列表不会使用新列名称重新填充。 (CSVfields
是主窗体MapImportFields
)
Forms!MapImportFields!CSVfields.Form.Requery
任何人对更新临时CSV表时如何刷新CSV组合框有什么想法?