使用 vba 强制表保存

Posted

技术标签:

【中文标题】使用 vba 强制表保存【英文标题】:Forcing table to save using vba 【发布时间】:2014-06-02 13:23:40 【问题描述】:

所以我有一个奇怪的问题。我需要将值插入到新创建的多值查找字段中。唯一的问题是这样的空列没有.Value 参数。我注意到打开表格,更改 anything 这将强制弹出“您需要保存此表格,等等等等......”。保存后,即使它仍然是空的(原文如此!)字段中的属性.Value 也会出现。

我需要使用 VBA 来完成这一切,我尝试过

DoCmd.Open("tablename") DoCmd.Save("tablename")

在创建后强制保存它,但 VBA 抱怨语法,即使我发现的每个示例都使用这些代码行。

也许还有另一种方法可以强制出现.Value 而不是强制保存表格?我是一无所知的ATM。

----

编辑: 我设法解决了它。而不是 DAO VBA 指令,我只是在设计视图中打开表格,保存它,然后关闭表格。

(在这种情况下)巨大的不同是在设计视图而不是简单的数据表视图中打开它。

在这两个视图中保存表格会产生两个不同的结果(有或没有 .Value 属性)。

【问题讨论】:

最好避免使用多值字段。请改用JOIN 表。 问题是我无法避免。这些字段位于 SharePoint 的链接列表中,因此我无法更改结构 【参考方案1】:

我不确定您的代码当前是否使用 DAO;但是,它应该是。我找到了一位与您有类似问题的用户,另一位用户能够帮助他们:Creating a Multi Value Field through DAO works, but Access has problem saving it。

我想为你描绘的不同之处在于你想要修改:

.Properties.Append .CreateProperty("RowSourceType", dbText, "Table/Query")
.Properties.Append .CreateProperty("RowSource", dbText, _
                                       "SELECT [Last Name] FROM Employees")

.Properties.Append .CreateProperty("RowSourceType", dbText, "Value List")
.Properties.Append .CreateProperty("RowSource", dbText, _
                                       "Your;Values;Here")

【讨论】:

实际上我使用完全相同的一段代码来创建这些字段。而且我需要使用另一个(链接)表作为查找源,因为值列表现在大于 3500,并且可以从外部动态更改。

以上是关于使用 vba 强制表保存的主要内容,如果未能解决你的问题,请参考以下文章

React.js:如何在保存后强制反应表再次呈现? (钩子)

强制 VBA 等到电源轴完成刷新

VBA 强制 SAX 编码 UTF-8 和缩进

检查文件是不是使用 vba 保存

从 Access 2007 VBA 代码创建 .xlsx 文件时强制用户使用 Excel 版本

VBA:只有在公共对象模块中定义的用户定义类型才能被强制转换为变体或从变体强制转换或传递给后期绑定函数