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()
5 d7 [8 U' Q' F3 }/ _1 |/ RDim work As Workspace $ H; y! _9 \& E* o& l, S
Dim new As Database $ ^6 o, v7 M; y) [
Dim elem As Object
1 g5 B5 K) t3 |6 l! T* d6 |Dim rs As Recordset
6 N8 p6 `. r7 R+ G6 dDim RowNum As Integer
/ B" z4 k! J7 @1 ]Set work = DBEngine.Workspaces(0)
/ Z3 R) i6 Q% k+ e0 dDim dbs As Database , Q: j. t9 ?9 z- \
Dim tdfNew As TableDef
# V. q) ], d  x: C9 K+ z4 E, M$ lDim tdf As TableDef 7 J8 q, W& c1 P; q% ]" t
Dim dbsname As String
& R8 p4 f  G8 p$ e) {. XDim array1 As Variant 0 T4 r( h9 [) r4 ]4 c
Dim array2 As Variant ‘声明所需的变量及类型
0 U' H# P/ A* B4 ]) Z" k. hdbsname = “D:\材料表.mdb”
& F! X0 _0 ?* I) P‘声明Access数据库写到哪一个文件 3 m6 b$ Z( l* q+ q4 ]0 m  s6 C8 h
On Error Resume Next
. f& E0 {0 D# _Set dbs = work.CreateDatabase(dbsname, _ # f1 C) b; X' b5 l4 ]4 O9 _
dbLangGeneral) 7 D* O6 J) g9 s. C; |- }
If Err Then
+ Y' M, m8 a- iKill (dbsname)
# @) S6 u, i# W# x# [  r# f: F4 m‘发现要写入的Access数据库文件已存在就将其删除
; H7 i1 ~6 X- ISet dbs = work.CreateDatabase(dbsname, _ ! [3 K, n* [, w4 n0 \+ h4 S
dbLangGeneral) 5 D! {2 {0 w: L3 F7 @: ?& \
End If
  U: _" X  l5 h" @, Z) l; a, p8 FSet tdfNew = dbs.CreateTableDef 7 h7 p4 t) N/ h2 L  b
(“电气 _材料明细表”) 5 r) e1 I, h  B. A; Y6 |
‘建立一个名为电气材料明细表的表
; `, j& n* W, ?5 q; E" O  ]RowNum = 0 # x6 R' l5 S$ P. m7 _/ s4 L
Dim Header As Boolean
6 o. I4 l, G5 XHeader = False
3 P8 b; `- [: `; }( `8 YFor Each elem In ThisDrawing.ModelSpace ' V8 B: C" Y3 F( I, Q
‘在CAD模型空间,查找所有图形对象
0 b) u8 Q, m6 ]& d/ ?9 H9 k9 J8 \With elem
+ ?8 I, A, E! w, r8 a: OIf StrComp(.EntityName,_
. O% R8 }3 f0 i1 ~7 b! C1 }“AcDbBlockReference”, 1) = 0 Then   l9 |4 O6 m8 N0 {
If .HasAttributes Then : V, K# `$ `0 B) j+ e
array1 = .GetAttributes
1 A! f, h0 }2 K0 @array2 = .GetConstantAttributes # V3 l$ s/ t  `
‘设置array1指向图形对象的属性 ) J: I6 o# L- R2 V
‘设置array2指向图形对象的固定属性   f, s7 E8 k$ N
For Count = LBound(array2) To _
* C% I6 v5 M' T8 f( f) G9 }6 yUBound(array2)
+ b5 |: l6 ?- v/ _0 G/ ]If Header = False Then ) `* F# P) N& J! l" \) Y
If StrComp(array2(Count).EntityName, _
. P4 Y, O- w2 n; e" E, v& K; J“AcDbAttributeDefinition”, 1) = 0 Then 6 i5 s) s" z  y' `& ]
tdfNew.Fields.AppendtdfNew._
$ q3 `% ?( y# y. e, G+ tCreateField(array2(Count).TagString, dbText) + @! Y$ _  r0 A. }( a+ N
End If
3 O1 y/ n$ l$ _: W% ~‘读出属性值读出,作为Access数据库表的标题 $ w9 A9 W' j" Y' v
End If
9 p$ o( o+ [% `9 ?2 V2 K2 g7 uNext Count
" M' [$ a1 x4 D$ o; p. yFor Count = LBound(array1) To _ 7 \8 @; y9 X$ u' m- n6 w
UBound(array1) 1 M$ _! P4 q' g9 g( Z
If Header = False Then 4 ^! O! P; `' ]" j  N- d
If StrComp(array1(Count).EntityName, _ 6 c% y+ W8 s* R5 D9 [9 @
“AcDbAttribute”, 1) = 0 Then
% b$ I* o; q' Q# A6 z" QtdfNew.Fields.Append tdfNew. _
" _6 ~! N  T0 y3 {CreateField(array1(Count).TagString, dbText) , U% a3 {1 f- S, Z
End If 3 w7 b: p1 t* Z- X# U. L4 G' d
End If
% A$ @5 F1 N- w2 H+ JNext Count " Y2 ~% W9 u* ~4 D3 G0 b& d
If Header = False Then : q0 ~2 n0 Q- F/ T0 `# v
dbs.TableDefs.Append tdfNew - _6 P3 a! k' B. i. T, i- t
Set rs = dbs.OpenRecordset / w5 s4 p: c6 {4 Q8 N# k9 }
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 3 O/ w$ w6 |2 t9 E$ m
End If
2 L; r% s% K# m- V% i8 k, gRowNum = RowNum + 1
" e+ O6 j; p/ j+ j% Q# ers.AddNew ‘增加一笔新记录 1 X3 P) f% ~8 X  Z8 I* B: x, C
For Count = LBound(array2) _ ) T$ c7 S0 D$ p% c
To UBound(array2) 7 Y" e3 }. M- _& ^9 C
rs(Count).Value = array2(Count).TextString
/ I/ M9 X7 _$ N5 D* V' G3 ~Next Count ‘读固定属性值 $ f: Z5 L% ]. K& u
For Count = LBound(array1) To _
( h" [% ^- ^0 |8 f: MUBound(array1)
& _; X& d' r& f* t" y' jrs(UBound(array2) + Count + 1).Value = _
( e; S# I' D1 P3 Q4 @' E! R. Jarray1(Count).TextString
4 n3 ~: A+ Y" y8 q" Q8 G; ENext Count ‘读输入属性值 ( s2 x) Y1 O; f4 K
rs.Update ‘增加新记录修改结束 ! X4 {& Y. A0 r7 x2 T
Header = True $ \1 B# U1 f8 {& h) k, X) v
End If
; o2 f; M) R  A: cEnd If
" Z3 ?2 ~& h5 A5 |# ~End With
/ [- r! \% Y8 u4 e( z9 {8 x! P" CNext elem 0 s; @- Y. S7 k6 e7 V2 w2 ~) t
rs. Close ‘关闭记录,释放资源
8 k7 a- b7 n9 A! a) d4 Y' hdbs.Close ‘关闭数据库,释放资源
1 K/ V  _' _" i! hEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot* t, U7 {! A& t+ @: y' L
真是太好了
5 Q8 e4 b# F: j) m" M+ z這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-3-4 14:24

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

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

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