broncos15 发表于 2022-7-5 17:54:45

将表名提取到inser

我正在尝试制作一个LISP例程,该例程将根据我使用数据提取创建的表插入2个字段值,所有这些都在一个大型例程中。为了插入例程,我将使用Lee在此处找到的快速场LISP:http://lee-mac.com/quickfield.html.我遇到的困难是如何提取最近创建的表的表名。每次我都会创建两个引用单元格A3和A4的字段。例如,公式为:
Table(8796084270816).A3,字段表达式为
%%).A3)>%。我不知道的是表名在哪里,在本例中是8796084270816,我如何访问它?有没有人对此有什么想法或建议?

Lee Mac 发表于 2022-7-5 18:09:01

 
这是表对象的对象ID-为了了解如何获得此值,您可以从我的区域字段到属性程序(第176行)参考我的LM:ObjectID函数。

broncos15 发表于 2022-7-5 18:15:31

谢谢李,LM:ObjectID函数和LM:ename->ObjectID都非常有用。你介意解释一下为什么当我为表转储vla信息时,我得到的是对象ID(RO)=53,而不是字段公式中使用的8796080076512吗?我真的很想理解他们为什么不同。

Lee Mac 发表于 2022-7-5 18:26:53

 
不客气。
 
 
可能是因为vlax转储对象是在引入64位系统之前设计的,因此值的格式可能不会导致整数溢出。

broncos15 发表于 2022-7-5 18:42:03

李,这很有道理。我真的需要阅读更多关于Visual LISP如何与64位系统交互的内容,因为我以前遇到过这个问题。奇怪的是,除了使用数据提取之外,你还能想出其他方法来创建一个自定义字段来计算块数吗。我用过你的块计数器,这真的很棒,但它没有创建自定义字段,这就是为什么我想使用数据提取,然后从表中的单元格创建字段。唯一的问题是,我的方法不是最人性化的,我必须已经为用户创建了数据提取模板,这意味着我只计算特定类型的块,而不是所有存在的块。

Lee Mac 发表于 2022-7-5 18:45:22

 
对象字段只是引用对象的给定ActiveX属性,由于没有ActiveX属性可以生成给定块的引用数,我认为这是不可能的。

broncos15 发表于 2022-7-5 18:58:46

好的,听起来不错。再次感谢您的帮助,我将继续我最初的LISP计划。
页: [1]
查看完整版本: 将表名提取到inser