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()
/ q. K" [1 E, g- o: y' U- w4 aDim work As Workspace / ^' ^$ G0 S$ W& [) y
Dim new As Database
: W" u# C8 ]: M/ h! t$ rDim elem As Object
( O: z$ Q& w( }$ i" R, pDim rs As Recordset 4 A% I' g/ Y* G3 H' ]
Dim RowNum As Integer ! o5 c$ d" ~- c0 z
Set work = DBEngine.Workspaces(0)
8 H7 }6 v' Q  t# _- s5 zDim dbs As Database
7 f) k. ^) b0 c4 aDim tdfNew As TableDef - z* s" R, e: A' ~" q( f4 X! R) a- k) u
Dim tdf As TableDef $ m: f' K0 ^5 P& `' N
Dim dbsname As String   q/ K! ?7 a- I6 c! P! o$ n
Dim array1 As Variant
) {- i: z! y# x, H2 u! yDim array2 As Variant ‘声明所需的变量及类型 6 l8 n. a: J9 f4 ^3 y* `3 K
dbsname = “D:\材料表.mdb”
7 d! Y+ t$ B" q" @/ @. A8 v‘声明Access数据库写到哪一个文件 ' P2 [- \# [# r3 k+ E7 ~% s1 V& B! [
On Error Resume Next
' N" l- e8 U, C7 y- c  W! ~" n1 ?1 rSet dbs = work.CreateDatabase(dbsname, _ ' g4 Y8 c( V2 }) I* g- ^
dbLangGeneral) " j/ v& W( X" {
If Err Then : |% P- A  A- Q2 i  @; Z' l
Kill (dbsname) $ X* C' b+ ~! T! `. [
‘发现要写入的Access数据库文件已存在就将其删除 & f: B! ]( e! Y. z1 g% q
Set dbs = work.CreateDatabase(dbsname, _
5 a5 m  P4 j# G8 _: jdbLangGeneral) + J3 W+ |; O6 l' z' }2 ^' ~! H: v5 J
End If
2 u9 h! S/ ^9 E% G3 V" O, W% pSet tdfNew = dbs.CreateTableDef - A4 Z% e# o$ M$ p% e, @
(“电气 _材料明细表”)
5 B- o  ]' g4 O. [‘建立一个名为电气材料明细表的表
" d8 o4 h" H: R1 r4 Y1 kRowNum = 0 2 V' M- n( O0 T/ H) M' K; U
Dim Header As Boolean
0 X/ V6 B5 i% xHeader = False
& X7 q5 [. q; j- }. yFor Each elem In ThisDrawing.ModelSpace
: g# i, q4 n$ V  |# c5 b- u' {3 t‘在CAD模型空间,查找所有图形对象 : N7 {2 W0 r; Y6 d9 l7 R* L) d
With elem ! D. v, ]7 ?2 c
If StrComp(.EntityName,_ : z: ^/ V+ y4 t, g9 d! \) @
“AcDbBlockReference”, 1) = 0 Then
# N$ ^' ~5 d- V# {4 `4 s/ aIf .HasAttributes Then ! u% `+ z5 r- i: F
array1 = .GetAttributes
) N4 J3 K. {1 D4 {3 C8 w8 @2 narray2 = .GetConstantAttributes
0 m/ p! j" \3 o4 d$ f- u0 R! Y‘设置array1指向图形对象的属性 3 j) C0 ]! F. w+ |  t
‘设置array2指向图形对象的固定属性
# Y5 T& h) A8 z, \# kFor Count = LBound(array2) To _
! c) w7 f6 {: c* I" VUBound(array2) 3 g( d; x4 D# t
If Header = False Then . @+ B, [6 \. T4 [. e! B- V
If StrComp(array2(Count).EntityName, _
- Q6 Q1 ]8 M& r4 @  G“AcDbAttributeDefinition”, 1) = 0 Then % \, @# x* k$ r1 n. ^, _: k& H
tdfNew.Fields.AppendtdfNew._ 5 p1 R% b- B+ R9 S% X
CreateField(array2(Count).TagString, dbText) 4 D% E' f# _7 F# l
End If
- T8 |+ ^! n' ]  B  O  Z# F‘读出属性值读出,作为Access数据库表的标题
6 Z# D1 s& I8 a" t- JEnd If
' e( Z, F/ x4 S( ENext Count
! a3 b  _8 A, A% m) u: ^; @2 d, r: RFor Count = LBound(array1) To _ % a: ^. Z: G& Y+ U; t( d; P: l
UBound(array1)
7 w5 g% I: @; w0 \3 aIf Header = False Then
( X. S/ ]6 b/ G, \# G+ RIf StrComp(array1(Count).EntityName, _
) ~4 ^% l: W0 d* N! l. I“AcDbAttribute”, 1) = 0 Then * |6 m! p! @1 q
tdfNew.Fields.Append tdfNew. _
4 U0 Y- O! x' P8 c0 jCreateField(array1(Count).TagString, dbText) % e) c" X6 i' u1 Q( \% H
End If
/ g# r) O8 t5 t* H1 m" _) x7 E1 t' MEnd If : L2 l+ i3 C' Z& i5 P4 b8 R. v  i
Next Count
: d; ~" z6 _; v# ~, z9 oIf Header = False Then 0 x+ T1 s1 U# D
dbs.TableDefs.Append tdfNew
% k) k) ~4 z* C+ ZSet rs = dbs.OpenRecordset
2 ?% }& H. \3 \. s# S, r1 g* p(“电气材料 _明细表”, dbOpenTable) ‘打开记录
* l0 g- {" u% s0 J6 O+ m) x7 NEnd If 9 }& ]2 g, N% x% V/ }
RowNum = RowNum + 1 5 A; p) `8 Z+ ]2 U5 l6 B7 r8 E. U- I
rs.AddNew ‘增加一笔新记录
/ [! h6 G/ y: E6 v/ E$ @For Count = LBound(array2) _ : o+ M9 `) |) m! L; Y% m% i' }
To UBound(array2) , K; ^1 q# o( f* J! T' z
rs(Count).Value = array2(Count).TextString
( K( T8 Z& [) T' mNext Count ‘读固定属性值
6 {2 i0 v& \8 ]3 }- TFor Count = LBound(array1) To _
% y% I- y( b' uUBound(array1) . `/ T1 P! \- }
rs(UBound(array2) + Count + 1).Value = _ ) O5 ~0 M, x, J/ M1 ?
array1(Count).TextString " P/ }$ Y4 |/ f
Next Count ‘读输入属性值
+ K! O- Q) W/ E7 g0 J% k: urs.Update ‘增加新记录修改结束
8 z' B+ p1 u& q$ S$ J/ d2 EHeader = True
0 N' ?# ], H# z' ]End If
  Q6 R: ~  T9 c# ZEnd If
' J( q$ i3 [$ uEnd With
( Q0 l! G! G7 g8 v7 t# ]Next elem ) l/ d' K  s( ]$ g6 g% W! _6 u, c
rs. Close ‘关闭记录,释放资源
9 m/ @1 \1 H* C# p5 ?+ v$ ~: ]dbs.Close ‘关闭数据库,释放资源 . B7 L2 Z5 {9 r8 f* \
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
' g' d( U( }/ O0 T真是太好了 7 O( D" N3 w. l) }
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-14 22:52

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

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

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