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()
: D, a8 |0 p4 e  f) K$ JDim work As Workspace 4 j. O8 I& W$ j3 `0 c  T
Dim new As Database ! }2 x3 l( \! {! G1 [5 i
Dim elem As Object
6 n- u: ~- N8 ]8 B8 O) GDim rs As Recordset
, l$ z  T0 z- dDim RowNum As Integer
6 q& {: N! O/ Y: Z. M' KSet work = DBEngine.Workspaces(0) . `$ U4 c6 Z  U
Dim dbs As Database
/ S8 Q; K" Q) _- {Dim tdfNew As TableDef 6 I- v, ?3 y( t$ {
Dim tdf As TableDef / `4 i% f7 x0 X2 A, A2 e8 W
Dim dbsname As String ; g3 G) u% H: d6 G
Dim array1 As Variant & }& c9 a* ~) s" b- w% d* x# T) e
Dim array2 As Variant ‘声明所需的变量及类型 ! I0 w' V+ X  P3 s4 {
dbsname = “D:\材料表.mdb”
$ h+ y: E, ]. u‘声明Access数据库写到哪一个文件
$ M, Y( Y5 v+ W* jOn Error Resume Next
# b3 _1 z! G2 a  F: _! pSet dbs = work.CreateDatabase(dbsname, _ # r9 |4 W0 F# X) q/ O! T
dbLangGeneral)
+ Z# k/ R# e; d- c3 `9 _& RIf Err Then
8 P( l. L9 y1 x( k- PKill (dbsname) 4 S. |  C9 Q# C9 \0 U9 k
‘发现要写入的Access数据库文件已存在就将其删除 7 T! i+ c: P" L7 B( I6 ^
Set dbs = work.CreateDatabase(dbsname, _ # @5 |$ s' O# C8 L$ `
dbLangGeneral) / Q; M; ]* g& {5 u3 Q
End If
8 h8 V( K+ ^1 g' [! ~; f0 OSet tdfNew = dbs.CreateTableDef $ E- r; J: b0 v  n. L; g; O
(“电气 _材料明细表”)
. Z: J( A6 F, g+ P: S: R‘建立一个名为电气材料明细表的表
' j$ L% i, I2 U3 y  |9 c/ lRowNum = 0
5 g4 k: |; j; h3 {/ f# KDim Header As Boolean
* d2 `8 y1 I0 w5 T% D8 w( j+ [6 {Header = False
8 k6 s2 e( a$ \- k1 n, eFor Each elem In ThisDrawing.ModelSpace
" e' l5 N; W; _% W& l‘在CAD模型空间,查找所有图形对象
% v4 i9 G' ]* I5 MWith elem $ H, H9 d% f* m( x: n0 K
If StrComp(.EntityName,_
, k% q6 n4 y7 z$ P“AcDbBlockReference”, 1) = 0 Then
; J# x3 I! A+ g, ?7 \If .HasAttributes Then
: p5 S# T+ l0 X/ o0 [4 e! v. {array1 = .GetAttributes 9 [8 W% ?8 B9 D) m+ t/ @% A" ^) Q/ z
array2 = .GetConstantAttributes
5 V0 A8 V9 F, S‘设置array1指向图形对象的属性 6 _6 N& o! w; N/ G, |1 t& M. [
‘设置array2指向图形对象的固定属性 & B2 p* M8 ]- a& G' V
For Count = LBound(array2) To _ 6 ^9 Y0 w8 Z1 L
UBound(array2)
8 d9 @7 ]# O3 v& i% fIf Header = False Then 2 c% m. F1 l+ t. S9 c- _
If StrComp(array2(Count).EntityName, _
% J# C' ?# z# A  Z! s“AcDbAttributeDefinition”, 1) = 0 Then
& m+ J* h3 c; U2 S! f, K; Z+ QtdfNew.Fields.AppendtdfNew._
+ G: z) B+ d5 L; W: _: WCreateField(array2(Count).TagString, dbText)
0 F/ V0 f/ i+ k  gEnd If
% A# L) }8 s, c7 @! z‘读出属性值读出,作为Access数据库表的标题 # M7 f4 ^7 y  q3 }! n6 b1 c
End If $ Q( R9 r) J8 ], i! V
Next Count
6 W: g+ D. P, R# U0 k8 _; n' tFor Count = LBound(array1) To _ 2 C. O; @) z+ a. s3 ^
UBound(array1)
. e  `- V- N" _If Header = False Then , e& Y% O* c& {8 C3 l. z& I
If StrComp(array1(Count).EntityName, _ ( ?/ e" b& |, I/ }3 M* ~! t" C
“AcDbAttribute”, 1) = 0 Then
, I' `1 P; n+ P8 n" @tdfNew.Fields.Append tdfNew. _ 7 d  z3 K' j1 }
CreateField(array1(Count).TagString, dbText) ' N0 X/ T+ p8 p0 y/ Q  C
End If 9 j! w- C  b1 r6 ^- I
End If
* d: p7 P: M, s8 |" n: o( {, lNext Count 5 K) F$ @: X% B9 Q5 r# J
If Header = False Then
) k; Z- p, ]; ~/ b0 c; r* Ddbs.TableDefs.Append tdfNew
- z2 K% E5 q" \7 VSet rs = dbs.OpenRecordset
( K/ l3 X* {, _(“电气材料 _明细表”, dbOpenTable) ‘打开记录
2 }" y$ N1 I+ L, W* Q4 Y' e( X' @End If
" c9 G4 x2 F6 k2 _2 [, ZRowNum = RowNum + 1
/ [+ t- P: ?3 G8 V$ p- K0 @rs.AddNew ‘增加一笔新记录
& F* @) B; b" X# W% YFor Count = LBound(array2) _ ) N( C* w0 |0 _* d
To UBound(array2)
6 r. F5 s5 E; ~  E/ Hrs(Count).Value = array2(Count).TextString . t, {+ H6 Z) s4 Y! a% I1 d
Next Count ‘读固定属性值
) p7 Z# \' U: |7 n* Z% p" AFor Count = LBound(array1) To _
+ R' u! H- E# S9 l, N4 ~, V: TUBound(array1)
% F6 u) t+ Q+ nrs(UBound(array2) + Count + 1).Value = _ , `; g; o5 @& D: z( Y9 D" q8 z
array1(Count).TextString
8 P' s2 m* d: b/ MNext Count ‘读输入属性值 9 I! i3 u6 D4 p' b, a& e: m+ |
rs.Update ‘增加新记录修改结束 . R( j. M2 c9 D. u* Z$ R4 ]0 O. k
Header = True & ]1 `: [; f! u# ~( S: p
End If 6 a5 r; Y' c( J$ G& c1 L% E; M
End If
1 A& m( c- P0 A, A0 IEnd With
' K) P' A/ C9 ^4 {Next elem 3 \. V7 o$ s% Q' o( F' ^- e
rs. Close ‘关闭记录,释放资源 & H9 ^& r- b# C# L
dbs.Close ‘关闭数据库,释放资源
) @) a: u& t+ ]! I, e1 z$ HEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
$ I1 T- R7 t. i( R! x) x4 Z真是太好了 $ ?  N0 O% C  J/ @0 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-1-24 16:48

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

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

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