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() 7 g0 ~% E# H, k, k
Dim work As Workspace
8 D- A; S$ s2 PDim new As Database ' W, U9 _* U& ]  M7 i  `; M
Dim elem As Object
3 g" _+ Z2 T2 N3 Y4 d: Y1 f1 Y$ dDim rs As Recordset - ^" N2 y6 Q; N  W# U! J% f( D  w
Dim RowNum As Integer
* w' F5 c7 T7 V: Z) QSet work = DBEngine.Workspaces(0) 4 }5 Q$ B+ C' _1 u, C4 `/ ?% o
Dim dbs As Database
$ L# \9 M" o3 ~Dim tdfNew As TableDef + I$ W, W2 d  w
Dim tdf As TableDef   k- F; s3 q" B% i5 g0 ]
Dim dbsname As String 1 |7 T! `' W0 c) k% f
Dim array1 As Variant 5 a0 k6 l. h) n  K
Dim array2 As Variant ‘声明所需的变量及类型 # i" r* I" z# M6 O6 G& i
dbsname = “D:\材料表.mdb” * U6 j  O6 T- K5 p
‘声明Access数据库写到哪一个文件
1 ]- ~& j, q0 H# y6 I  }. WOn Error Resume Next
; J0 {# W- t* C9 c0 z  `Set dbs = work.CreateDatabase(dbsname, _
7 J/ s2 G6 }) b. Z! SdbLangGeneral) 5 @; _3 s) @1 K% D3 b
If Err Then
4 q) E5 [. o# d+ |% YKill (dbsname) $ |. T8 s5 [! A* ~; Z
‘发现要写入的Access数据库文件已存在就将其删除 4 B4 R4 ?: j7 I) [
Set dbs = work.CreateDatabase(dbsname, _ ; y0 r% z! s+ q/ H8 w7 p) S
dbLangGeneral)
, x, I' O, ?7 T( j( rEnd If ( S6 F) i  d1 @8 Z$ k% ~0 X, v
Set tdfNew = dbs.CreateTableDef 5 B. b4 s# K7 }# G& C% S
(“电气 _材料明细表”)
1 h+ g6 n  k+ e  }1 V$ ]$ K$ t‘建立一个名为电气材料明细表的表 6 A. [: R, @4 @
RowNum = 0
! F, q+ l# j( W4 D, o0 PDim Header As Boolean ; e2 {2 r! G9 ~
Header = False
- m! Q& ]  ~" l7 H# dFor Each elem In ThisDrawing.ModelSpace
) [2 Z% N$ m, I; d8 Q2 i‘在CAD模型空间,查找所有图形对象
8 ?- y0 D! y* {/ e& L. B2 w( DWith elem 8 V/ a; g) ^" V, V# N' g- O
If StrComp(.EntityName,_
2 d0 F5 N, U4 `3 }# D“AcDbBlockReference”, 1) = 0 Then + ?; a/ N; T; z% P9 Z
If .HasAttributes Then
  G, P9 ^; w9 x& l3 r) W% S8 o1 Tarray1 = .GetAttributes
$ V5 y& G& E" F" H3 @  yarray2 = .GetConstantAttributes
1 L3 U2 Y8 {& j# R* ?‘设置array1指向图形对象的属性
. Z9 T$ s" g! ?( e& @‘设置array2指向图形对象的固定属性
- U% N% s3 t# c+ n2 w  PFor Count = LBound(array2) To _
/ X7 _& I5 n3 Y1 y! F0 d$ IUBound(array2) : v; k& I3 O4 ]! `
If Header = False Then " h4 v8 `9 G4 Z
If StrComp(array2(Count).EntityName, _ + L; R; P: d2 b7 V
“AcDbAttributeDefinition”, 1) = 0 Then
9 i' X' o2 n& x+ d5 ltdfNew.Fields.AppendtdfNew._ $ A6 U7 `! c$ k; _. h6 a
CreateField(array2(Count).TagString, dbText)
% n) s0 M, S% `) U9 j- m6 |4 ^End If * c: Q$ Q0 e2 y  M9 X, _5 l
‘读出属性值读出,作为Access数据库表的标题
- w  Q% j3 l# Q  H1 sEnd If / z& d  h7 \# \0 V
Next Count 7 _2 Z, j) l: s. A, }" H% f$ ^
For Count = LBound(array1) To _ ( E% l' z! {4 W5 v
UBound(array1) - R7 x3 M3 o9 G
If Header = False Then % |) V8 e( E. Z- C( s5 p
If StrComp(array1(Count).EntityName, _ : ?& v5 \" ~2 F5 H* V9 }
“AcDbAttribute”, 1) = 0 Then
. E: M. Z9 A- M& b# F. htdfNew.Fields.Append tdfNew. _
/ K# @" G- f- @2 t9 [4 eCreateField(array1(Count).TagString, dbText)
9 F% }. N" o( Q+ G# A" p$ ]9 HEnd If 2 Z6 \0 D  g# y$ h: f, w! x, [* d# ]
End If
2 n3 [% N5 D0 d8 _5 ^' QNext Count
1 A+ C. q# B3 n  {, m; U4 k; rIf Header = False Then ) D% g, r2 p' p: a  }% r3 ^( L
dbs.TableDefs.Append tdfNew
% y  A% @( c2 J' xSet rs = dbs.OpenRecordset ( `- M" d8 d  u& a) J* v
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
* O0 w" J( i* @* Q4 b. WEnd If
# ^9 |4 \/ B* ~( gRowNum = RowNum + 1
0 `  A1 p$ ^6 F1 w/ s) A& Z# k. e: prs.AddNew ‘增加一笔新记录
! H) c# `: x/ ?For Count = LBound(array2) _
+ f% F. Q. p; n, E2 YTo UBound(array2)
' t9 N+ \4 J# B6 \rs(Count).Value = array2(Count).TextString
" O% M6 |5 l8 c  u) b8 n0 QNext Count ‘读固定属性值 ) e, W9 F% O8 |- L) C& D' ^6 n
For Count = LBound(array1) To _ " x$ _$ Q1 H' ]! a
UBound(array1) * l" ]" [. A) ?. J2 Q3 q
rs(UBound(array2) + Count + 1).Value = _
& \9 E8 \; X( [# Marray1(Count).TextString ' _$ T6 ^9 f; ?" S
Next Count ‘读输入属性值 : H! O) k' v. A3 p/ V
rs.Update ‘增加新记录修改结束 & p# D; u5 W+ x9 z2 }0 t
Header = True
+ R) O: y9 w) h8 C/ S$ DEnd If
; I' A- P% O5 x$ eEnd If
/ z4 }1 u* G+ t3 F( ]End With
* u- o& C/ p8 y9 |: xNext elem
: d- P0 s7 M5 t) p/ z4 h3 U  d8 qrs. Close ‘关闭记录,释放资源 8 r! k: T( f# k( p( ^
dbs.Close ‘关闭数据库,释放资源
% R! }7 u: j' uEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
/ i) z# v6 Q! P2 i真是太好了
. g  \9 h+ V& P) H  v( ?' M; h0 n這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-2-10 22:00

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

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

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