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()
+ x+ U5 e2 r5 T. b" O# cDim work As Workspace
7 g% ~/ H! c& u; y# z  E9 G! HDim new As Database
' i/ Q3 h! O) X3 h8 cDim elem As Object
  x( S) t, {: h! A- D5 P9 @: t% Q5 ^Dim rs As Recordset
3 E0 @, z$ E' e" o* [Dim RowNum As Integer " y6 O3 X  ^1 D3 P7 W
Set work = DBEngine.Workspaces(0)
7 [( Y4 y4 E5 u& YDim dbs As Database
: I* a4 r, @$ gDim tdfNew As TableDef % Q, k9 q/ G' I$ O! n0 g" q. Y
Dim tdf As TableDef : L) K8 s! T8 H5 R& _4 |* x
Dim dbsname As String 0 `( Q0 L2 Z' @; S+ d+ H
Dim array1 As Variant
  u4 _- @+ F0 l: j/ E: ]6 ZDim array2 As Variant ‘声明所需的变量及类型
! \8 w" F( w2 c, p- Cdbsname = “D:\材料表.mdb”
8 v- @. m5 U4 D( W3 R( }‘声明Access数据库写到哪一个文件
1 h8 Y3 U3 T. lOn Error Resume Next " L0 ]) q9 @7 m1 c/ }, P
Set dbs = work.CreateDatabase(dbsname, _ / r6 V, I, E; \1 H& {
dbLangGeneral) ! s7 [- X# P# F$ d" J1 `
If Err Then
) Z* j6 P2 \" j- TKill (dbsname) 7 `1 \4 Z- |3 ~! O; {; R$ E
‘发现要写入的Access数据库文件已存在就将其删除
; E' b4 ?, a: A8 f) [) QSet dbs = work.CreateDatabase(dbsname, _ 5 M9 L" L7 u1 n6 Y/ S- m
dbLangGeneral)
9 u3 O& @$ I% l" \$ BEnd If
1 I* s8 N5 B7 R! ISet tdfNew = dbs.CreateTableDef 9 x) U6 u3 i. A/ \
(“电气 _材料明细表”) 9 b+ }7 S9 D3 o* q
‘建立一个名为电气材料明细表的表 1 g" F1 y/ p( E
RowNum = 0 0 _/ Z8 ~4 n# J3 d6 O
Dim Header As Boolean 7 O! A# B+ S/ @4 ^; g
Header = False * ?  I9 }! j* x& D  G3 V
For Each elem In ThisDrawing.ModelSpace 7 J, s5 }; S7 _, s: H) r% y- E6 R
‘在CAD模型空间,查找所有图形对象
! e' Z( x7 R6 I+ jWith elem
& W3 n0 w6 E- _  |7 p, t7 ^If StrComp(.EntityName,_ - p* d. D2 o6 E2 O5 N: y
“AcDbBlockReference”, 1) = 0 Then
. g+ v& D$ G" Y4 @" tIf .HasAttributes Then ( K+ `/ p: t- m2 _' R1 j0 l4 v
array1 = .GetAttributes
. H& h9 C1 ?) Y6 q2 E5 rarray2 = .GetConstantAttributes
# S6 h% ]" A$ c) v- m" A% E% B5 D‘设置array1指向图形对象的属性 % L2 p8 }3 ?7 R0 h. b
‘设置array2指向图形对象的固定属性
/ o5 ^3 ]3 G) eFor Count = LBound(array2) To _ 7 X: e8 ?5 W5 ]
UBound(array2) 8 h" x/ I( k! _- F! d# K4 S! k
If Header = False Then % i$ b" L( D8 E. J& v* z
If StrComp(array2(Count).EntityName, _ 2 Q% G0 f' K4 @3 m3 \8 F6 D
“AcDbAttributeDefinition”, 1) = 0 Then 5 s. d3 |5 a0 k- N) L6 b9 J7 \/ T
tdfNew.Fields.AppendtdfNew._
2 L: v6 c: |& H% k/ RCreateField(array2(Count).TagString, dbText) 8 u5 e5 P7 P  X) M) W; O
End If # N  S0 d. c7 r7 Z
‘读出属性值读出,作为Access数据库表的标题
) H0 [  C. q! v6 \5 Y( j# B% |End If 6 Z9 u4 U8 U+ l/ ?
Next Count
/ J. _% d: f7 }1 Y, P2 iFor Count = LBound(array1) To _ 4 J* A: W* [5 o6 j9 K
UBound(array1)
7 Z) C: S9 U3 r/ \. l! c1 `. JIf Header = False Then 3 |% I. m) _) t) Z" a9 ^$ U
If StrComp(array1(Count).EntityName, _
/ E+ D. O- r& n6 [0 x“AcDbAttribute”, 1) = 0 Then # O# e  }# @4 b/ a7 |
tdfNew.Fields.Append tdfNew. _ - V7 G9 p  `$ U1 N1 {/ u8 C
CreateField(array1(Count).TagString, dbText)
3 @( n7 u% K( V" mEnd If ( R0 K: b8 t* s( M
End If & g* `8 S4 N0 B  @; x: p+ ]
Next Count " d1 w$ O" o5 I! {0 O) {3 l, Z5 L" _& }
If Header = False Then ( B# @8 C: {" D% a. @& h/ P
dbs.TableDefs.Append tdfNew ) j* s# w: R6 ?, ~
Set rs = dbs.OpenRecordset
: T' Q; }7 T( w2 k(“电气材料 _明细表”, dbOpenTable) ‘打开记录 - h6 S& Q6 q4 f+ o
End If 2 ]; M1 o  F' c, a0 J2 Y) l
RowNum = RowNum + 1
' P& ~# |* R9 v( @4 g9 U7 krs.AddNew ‘增加一笔新记录
1 X! b" Z, c$ I2 B0 z- m' EFor Count = LBound(array2) _ ) D2 ?3 Q" }- h. n, z1 }
To UBound(array2) 4 A; C4 Q/ [' T) G
rs(Count).Value = array2(Count).TextString
; K4 }  x. N! v) ZNext Count ‘读固定属性值
! Y+ F# t- p6 N" y2 uFor Count = LBound(array1) To _
) x+ m! [" L* o# Y5 H) pUBound(array1)
- X5 s4 d  g5 L5 c- y6 Y, R' \  C* vrs(UBound(array2) + Count + 1).Value = _ 4 w; i6 P, @" {* X
array1(Count).TextString
: L- ]7 [, z# `8 \" r/ RNext Count ‘读输入属性值
0 y$ {' x3 c3 [) ^$ t2 X* Ors.Update ‘增加新记录修改结束 ; D+ M% f4 R3 p2 @+ ~% r
Header = True - ~) }$ h0 I4 k; p
End If & y! Z3 T$ G# P
End If
1 v% a1 r" j- VEnd With - c4 `1 |& L; L' b. t. q; i
Next elem 1 r0 i2 v$ a7 U  d- S' }# k
rs. Close ‘关闭记录,释放资源
' u4 T; ?/ q, @3 w* |dbs.Close ‘关闭数据库,释放资源 $ N5 e2 {1 d3 m) l- ?' k& P
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot1 L) B; y* a2 z* Y" N% [  i1 I: V
真是太好了 " I9 Y# i& q# e' Z: V! D# m, ~: h
這就是我要的 ^^
发表于 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-31 12:05

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

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

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