CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
12
返回列表 发新帖
楼主: gysheng

cad统计材料表

[复制链接]
发表于 2008-10-17 16:08 | 显示全部楼层
下载不了了????
发表于 2008-10-17 16:10 | 显示全部楼层
怎么下载啊,为什么下不了?
发表于 2008-10-20 15:19 | 显示全部楼层
不知道是做什么用的
发表于 2008-12-10 13:25 | 显示全部楼层

顶起

请用过的同志说明一下怎么用
发表于 2009-1-6 13:04 | 显示全部楼层
Sub list()
* b6 u$ V! O& p, rDim work As Workspace
$ |. k4 c) P0 u* q! ?  @3 |# qDim new As Database
9 {- P7 j0 h& B1 c- jDim elem As Object $ d0 F; {2 o' ?0 H. N! g" p+ W
Dim rs As Recordset
- n) ]: s4 h8 _. cDim RowNum As Integer 3 V7 Y& d  H0 `$ c: X
Set work = DBEngine.Workspaces(0)
3 I: p, z& _) {4 v" h+ i7 D6 h3 Z3 HDim dbs As Database
+ h3 X, |1 b) y: L  S% e! J) q. qDim tdfNew As TableDef
( H1 x* T$ |; X. f, ^6 B; IDim tdf As TableDef 9 r3 f) a- S: i1 T
Dim dbsname As String
) N3 r. Z7 n; N4 v1 O# m) qDim array1 As Variant
7 p0 H! Q6 U( w$ O2 j8 r: E2 VDim array2 As Variant ‘声明所需的变量及类型 ! T4 H9 V7 Q8 \; s9 k1 c
dbsname = “D:\材料表.mdb”
$ z" z  H3 G$ @4 j, G4 b8 J' v4 ]‘声明Access数据库写到哪一个文件 ! L' D9 N7 W, A9 J/ n, ]
On Error Resume Next " y- P$ a6 S8 g! r
Set dbs = work.CreateDatabase(dbsname, _ - m. F5 Q; {% n+ x0 ]* o
dbLangGeneral) $ u  W) v& ~+ e! \
If Err Then 9 {' p* b4 s/ F1 L% e
Kill (dbsname) 3 }2 g" ^4 J5 ]( A/ `
‘发现要写入的Access数据库文件已存在就将其删除 ; N. g8 v7 J  l$ \" D7 I
Set dbs = work.CreateDatabase(dbsname, _ * ~2 K3 ]6 U' Y; x2 q5 ?
dbLangGeneral) % ]+ @5 [8 l+ I) W; H1 w
End If
- x$ u! t" ^% y# K: R' LSet tdfNew = dbs.CreateTableDef
. J2 J3 x" M' ]& Q$ k6 ?(“电气 _材料明细表”)
. j9 g" [) q, E- f% w‘建立一个名为电气材料明细表的表
$ C4 v7 g' S' |9 A, q( BRowNum = 0
# y) _. X+ q  GDim Header As Boolean
3 }% q0 }' K# s) H  v0 D  JHeader = False
% Z. B9 N  }( D9 ], qFor Each elem In ThisDrawing.ModelSpace
4 a% O* X6 U) Y. Q9 H‘在CAD模型空间,查找所有图形对象 , I* C' C& i7 V7 }! `
With elem
0 O; M+ R  {( |( _8 M1 ]If StrComp(.EntityName,_ 4 X3 y8 n1 G7 G
“AcDbBlockReference”, 1) = 0 Then 6 v& h% U: }. r  O! O
If .HasAttributes Then
. E( p- g& c$ e" X# iarray1 = .GetAttributes ' T3 H& C/ I) t/ e  [" X
array2 = .GetConstantAttributes
& q" |% \% L, g$ T7 x9 {  J‘设置array1指向图形对象的属性
# F' ^) ?# B  `2 d& H# ]‘设置array2指向图形对象的固定属性 - T! p7 E! ?7 Q- u- v: B- k9 D
For Count = LBound(array2) To _
  V$ a( L: s: B* r- l4 _6 h' q% V: jUBound(array2)
3 x9 c# Y. z% e) c4 aIf Header = False Then
1 m5 w+ Q9 q7 oIf StrComp(array2(Count).EntityName, _   u9 A1 U. _7 {' _
“AcDbAttributeDefinition”, 1) = 0 Then ) i" I: M* T& P* i9 O& I
tdfNew.Fields.AppendtdfNew._ * h& k5 N3 ]$ N, _: B% k6 e4 k
CreateField(array2(Count).TagString, dbText) 4 g) d3 `1 f' ]5 |  N
End If 6 Z! s6 B- X: Z0 k# H3 f6 t7 d; D, ?
‘读出属性值读出,作为Access数据库表的标题 1 h, g/ {4 h3 {
End If
6 P( i: F( s5 n. t! Y( sNext Count
  v% y3 }* z0 |5 _# b3 |For Count = LBound(array1) To _
+ ~7 W& H! w1 SUBound(array1) * X; |9 Y0 G& Y
If Header = False Then
2 ]% v" `. I+ s9 U& N+ KIf StrComp(array1(Count).EntityName, _
" {* V$ r! L7 g# \; _- B' U“AcDbAttribute”, 1) = 0 Then # y. x! p4 E+ l% p& \
tdfNew.Fields.Append tdfNew. _
$ q! \$ u$ t3 E1 ?! gCreateField(array1(Count).TagString, dbText) 4 ^! r9 E, o; H6 R
End If % i  Q; \6 @! k
End If ' q5 L1 T/ E. z. z3 \6 l" R
Next Count # b+ C5 t3 b/ k8 j
If Header = False Then 3 k& K" k3 Y, ^! ]( y3 [( [5 ?
dbs.TableDefs.Append tdfNew
1 \' O  X* y4 Q0 m: ]* e5 Y# v( PSet rs = dbs.OpenRecordset 4 i9 c$ |3 w  k" w1 i. H0 T
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 7 _0 T* I' R; v: F  d
End If 3 J' U0 ?, ]1 e. o1 ]! |) }: J
RowNum = RowNum + 1 * N7 b. ^% r9 d. w
rs.AddNew ‘增加一笔新记录
1 }# o4 z( ~" ]9 @$ A; eFor Count = LBound(array2) _ : G1 U7 H) _; A$ _3 [! Z
To UBound(array2) * w  x$ E7 d5 L! H9 }* j% h
rs(Count).Value = array2(Count).TextString 0 W3 R7 z( ^4 H, f: z6 |
Next Count ‘读固定属性值 . H2 L7 T, a/ ?0 x
For Count = LBound(array1) To _
! e3 S. C$ `8 z6 E! d, aUBound(array1)
5 f/ u  v; m  `2 O' ]8 G# _& X8 [rs(UBound(array2) + Count + 1).Value = _ ' x2 O1 F. A9 o& g- p. ^
array1(Count).TextString 9 k8 v7 z! j; O; \6 \: R6 \! F( h+ i
Next Count ‘读输入属性值 3 p* J0 O6 s/ Q/ g( x' G2 n5 G1 \
rs.Update ‘增加新记录修改结束   l: h0 Y/ m# `8 S* s
Header = True 2 m& u1 i! q( f; f( v
End If
% k, r5 H1 G; J' nEnd If
1 X/ L! m  t! s% s* xEnd With 6 t7 H9 E# r- z4 c
Next elem   e/ t6 A# Q6 v; r: O
rs. Close ‘关闭记录,释放资源
: c  W% l% j  [0 udbs.Close ‘关闭数据库,释放资源
* y% u0 |8 S8 I5 JEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot  A& {( R* c5 ~
真是太好了 6 p$ [4 Z* I1 `. q3 n, l
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2026-4-6 18:42

CAD设计论坛,为工程师增加动力。

© 2005-2026 askcad.com. All rights reserved.

快速回复 返回顶部 返回列表