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() $ H, x& G" B& c3 }0 B
Dim work As Workspace
) E5 I7 t) s+ x% n6 rDim new As Database
" I' N: ^7 r# Z" |Dim elem As Object ; x( [" I, F5 i+ s: J* Q
Dim rs As Recordset 0 o& y+ o8 V: k' f
Dim RowNum As Integer   ]! v/ f% l6 f6 p
Set work = DBEngine.Workspaces(0) - y# e; o# G. t6 X( L3 [5 d
Dim dbs As Database
* Q7 E/ x# S5 f* ^# V( GDim tdfNew As TableDef
4 P7 |. {" I9 @3 J, S: W/ iDim tdf As TableDef
4 r( |# a; d6 r/ D3 cDim dbsname As String
  c. l: H& G( k6 U7 T! Q8 VDim array1 As Variant
+ X& ?" F, y3 ^- p: tDim array2 As Variant ‘声明所需的变量及类型 3 K) a3 t* P4 W; x# j  I$ T
dbsname = “D:\材料表.mdb” . u$ c" J  |5 F: v" F4 b
‘声明Access数据库写到哪一个文件
0 u+ E: n5 M2 i& H' NOn Error Resume Next ) s% x' B% M& [
Set dbs = work.CreateDatabase(dbsname, _
5 I$ ^$ Z5 V1 n  h5 g  z( AdbLangGeneral)
8 {& u8 q5 d) \' eIf Err Then
" G& J/ A- {3 _3 n2 cKill (dbsname) ( ^& G9 |: a( d
‘发现要写入的Access数据库文件已存在就将其删除
4 C, @* E6 i  D7 [8 {Set dbs = work.CreateDatabase(dbsname, _
, ?& V. G3 B. J7 e: @/ K+ `" ^8 b3 ^dbLangGeneral)
$ H! [2 C  ]8 {End If 7 t# s8 K+ N; T2 L% t. D- `7 t
Set tdfNew = dbs.CreateTableDef / r7 k/ ^$ v5 V8 d
(“电气 _材料明细表”) $ X( Z! j/ l3 d3 \
‘建立一个名为电气材料明细表的表 $ F- z" v6 u! z; K# R$ F
RowNum = 0 ; t: V0 B& X/ Z0 D% P( W7 S
Dim Header As Boolean ( y% K* t; ~; N5 Z1 K
Header = False
5 G2 G2 ], t! _1 L6 e  k2 R$ H; KFor Each elem In ThisDrawing.ModelSpace
7 _8 S9 y9 x" N& B9 x& r7 W2 f- c‘在CAD模型空间,查找所有图形对象
: f& F6 _* ]) cWith elem 5 |% Z, N+ e( _. Y- z2 |  K
If StrComp(.EntityName,_
3 c: Y4 ?/ ?  a6 k$ f- N0 O" O“AcDbBlockReference”, 1) = 0 Then - m3 G, `# Z! G& P6 l
If .HasAttributes Then ! B$ M  m% k3 l2 j9 {6 r
array1 = .GetAttributes 4 i' z6 e" J# M+ f1 O, E
array2 = .GetConstantAttributes * k: A: r% x7 k4 ?, }4 u
‘设置array1指向图形对象的属性
$ d5 ]9 `% W7 R- b# G‘设置array2指向图形对象的固定属性
- B/ n$ m' @; p% p0 SFor Count = LBound(array2) To _ 1 C' _( l2 q" r- k- p
UBound(array2)
: F" I" J- a9 i$ J8 l, m5 n! ZIf Header = False Then 3 s% i; A) h% c2 Y! U% k5 F. C% E
If StrComp(array2(Count).EntityName, _
2 O/ v1 Z' ^4 A% f9 x0 I5 y“AcDbAttributeDefinition”, 1) = 0 Then
  q/ l2 V  ~& Z, C' mtdfNew.Fields.AppendtdfNew._ 3 K/ \9 G. F* M1 G& A
CreateField(array2(Count).TagString, dbText)
/ E7 u! J6 D: t. s/ W' {" R5 |. NEnd If $ M5 D* a  S* C0 f' D* J
‘读出属性值读出,作为Access数据库表的标题
8 I+ Y% d& c% S! Q$ |End If
+ B" _( H: e. [5 ^$ T0 fNext Count * n. c! [4 r7 X5 }# L' q, R
For Count = LBound(array1) To _
; _1 |7 ^% ^6 v" {& X  {2 o( qUBound(array1)
! o( S$ c2 x* t3 l% LIf Header = False Then   U$ v5 }3 ~! o$ b9 V
If StrComp(array1(Count).EntityName, _
- g9 e( n2 `0 ?1 C9 ?# ^' N“AcDbAttribute”, 1) = 0 Then
7 s7 r2 I0 U- y4 o9 S5 ?! I) F8 vtdfNew.Fields.Append tdfNew. _ 5 ~: N% @, ?: S! r( g3 u6 j% Q
CreateField(array1(Count).TagString, dbText)
3 w& q& Q: p( H* G8 w7 xEnd If
+ a( {- F, Z9 A1 X  Z# R" ^+ VEnd If
0 p6 W5 l; l3 A: ^1 SNext Count ) |6 j' k* d3 K
If Header = False Then
- R- R- S+ ?. k+ xdbs.TableDefs.Append tdfNew / w# }  A) [' ~( d6 m
Set rs = dbs.OpenRecordset
$ V" R, S+ {1 F: q. F% F4 K(“电气材料 _明细表”, dbOpenTable) ‘打开记录
- d( u4 J- z8 X. E8 Q5 r$ j  Y: jEnd If
1 _7 J: K' n  g' \% D! K3 O; qRowNum = RowNum + 1
! X* f5 p9 _3 |% s% Trs.AddNew ‘增加一笔新记录 , t' t  D/ v( \0 l" H' i
For Count = LBound(array2) _ ( [( n+ a- r7 a( j6 r
To UBound(array2) ) R$ l* U, P% X( @- e+ ~1 K* N8 o
rs(Count).Value = array2(Count).TextString ; U7 n; N6 _: _, O, Y" A
Next Count ‘读固定属性值 & p. B( r* Z5 F' F' J
For Count = LBound(array1) To _
+ g0 ]$ H2 |3 ?$ B+ \8 q* zUBound(array1)
2 {( o% r% u% c. U5 v( Urs(UBound(array2) + Count + 1).Value = _
( L# t9 C8 Z) ?* qarray1(Count).TextString 8 P+ n$ w2 r' D7 a* c9 X( m" O9 t
Next Count ‘读输入属性值
+ S- x+ x$ }' Y9 lrs.Update ‘增加新记录修改结束 ; |. `3 ?9 \7 O7 s' V
Header = True
: k. D6 Y: @$ x7 U9 I# z1 G& E6 |/ SEnd If
  H" }' i9 b$ G8 L  _4 XEnd If
5 P" H! W/ u" M. A' iEnd With
* {6 f  n& |' b3 WNext elem
0 r' N$ }% Y; Xrs. Close ‘关闭记录,释放资源 1 R) B! c. T4 R  m* I9 U# ^1 q
dbs.Close ‘关闭数据库,释放资源
/ v$ {+ R! a% N9 g* HEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
( S8 g: J. D: H8 v1 v真是太好了 - E! v2 J) O/ y# h" ]  P( w6 S
這就是我要的 ^^
发表于 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-12 23:41

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

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

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