更新对象数据表字段
我有一个快速而肮脏的VBA,我正在尝试完成它,它让我发疯,因为它应该很简单。我有一个包含6个字段的对象数据表。该表附加到一个实体,我想更改附加表中一个字段的值,但我似乎无法弄清楚。我已经有了获取实体、字符串、表名等的代码,我只是似乎无法更新我想要的字段。而且,我可以将所有数据放入新版本的表中并附加表,如果当前没有,我只是似乎无法更新单个字段。任何帮助/建议/方向将不胜感激!
**** Hidden Message ***** 我们能否在相关代码处获得峰值
您如何选择实体?绳子?表名?您如何尝试更新字段
什么版本的AutoCad? 感谢您的快速回复。所以,让我们看看我是否可以回答所有这些。这是它的要点(一个非常常见的问题)...我有一个卫生下水道网络,每个管道都标有一根绳子,格式为:尺寸材料斜率(空间分隔符)。我有一个附加到每行的对象数据表,该表具有唯一的ID作为第一个字段(数组中的0),并且其他3个数据元素中的每一个都有一个字段。
以下是它的工作原理(就像我说的,快速而肮脏):
选择字符串并将其拆分为数组的各个部分:
sset1。SelectOnScreen
strPipeString = sset1.项目(0)。TextString
strPipeValues() = Split(strPipeString, , -1)
选择附加了对象数据表的行:
sset2。选择屏幕
尝试填写字段(这是我遇到问题的地方):
设置 odTable = amap。项目(此绘图)。ODTables.Item(strODTable)
'strODTable 在例程中更早地使用表名进行设置,在本例中,“SAN-LIN”
Set ODRC = odTable.GetODRecords
For Each acadObj In sset2
ODRC.Record.Item(1)。Value = strPipeValues(0)
ODRC.项目(2).Value = strPipeValues(1)
ODRC.项目(3).Value = strPipeValues(2)
下一部分
该部分显然有问题,我不确定我是否需要调用 .init 或 .update 来完成它。这似乎应该很容易,但我错过了一些明显的东西。 我现在正在旅行,但是你能不能写一些东西给我玩? 我还没帮上忙,但我回家后会看一眼。 我仍然没有帮助,我试过了,但我无法获得任何结果。你有没有取得任何进展? 我试过其他一些方法,更多的只是随便看看是否有效,但我似乎仍然无法让它发挥作用。我相信这很简单,我只是缺少了一些东西,因为我可以附加一个新表并填写值。我只是无法编辑已附加表中的值
谢谢 只是为了澄清一些事情...你使用的是什么版本的AutoCAD?垂直应用程序? 我假设,鉴于您指的是OD Tables,您正在使用Map。在Map根安装下的Sample文件夹中,有一个VBA文件夹。
在此文件夹中,您会找到MapSample.dvb和MapSampleReadme.txt.
刚刚通读了自述文件,上面的dvb文件中似乎有一个宏,它完全可以执行您想要执行的操作...你看过吗?
我使用的是2009年地图。
是的,我看过了,不,它没有做我想做的事。那里的宏附加一个新表并填充表中的数据。我可以毫无问题地做到这一点。我遇到的问题是在附加表后编辑表中的字段。我不知道为什么会有所不同,但似乎很奇怪。
页:
[1]
2