gpt4 book ai didi

excel - 错误读取表字段所需的属性

转载 作者:行者123 更新时间:2023-12-04 20:51:49 25 4
gpt4 key购买 nike

我在读取 Access 表中的字段的属性“必需”时遇到问题。
在 Access 表中,属性“必需”设置为 TRUE

我正在通过记录集读取属性,如下所示

Set MyRecordset = AppDatabaseDB.OpenRecordset("select * from my_table;", dbOpenDynaset)
For MyIndex = 0 To MyRecordset.Fields.Count - 1
Debug.Print "Name: " & MyRecordset(MyIndex).Name
Debug.Print "Required: " & MyRecordset(MyIndex).Required
Next

当字段名称长度最多为 41 个字符时,上述命令可以完美运行。
例子:

Field name = scr11_modelo_do_produto_descricao_do_prod

但是,当字段名称超过 41 个字符时,上述代码 ( MyRecordset(MyIndex).Required ) 总是返回 FALSE
例子:

Field name = scr11_modelo_do_produto_descricao_do_product

看了Access表的规范,发现字段名的字符数最多可以是64个字符。

我寻求帮助以了解问题所在。可能会发生什么导致属性没有返回正确的值,为什么名称的长度会影响结果?

最佳答案

如果要分析表的结构,请不要使用记录集!请改用 TableDef。记录集仅加载与其相关的内容,而 tabledef 加载整个结构。

Set td = AppDatabaseDB.TableDefs("my_table")
For MyIndex = 0 To td.Fields.Count - 1
Debug.Print "Name: " & MyRecordset(MyIndex).Name
Debug.Print "Required: " & MyRecordset(MyIndex).Required
Next

另请注意:通过 TableDef Access 时, .Required是读写的。通过 Recordset Access 时, .Required是只读的。

关于excel - 错误读取表字段所需的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57525569/

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