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()
, U6 ~1 q* D9 f, aDim work As Workspace $ z" F- M; U' e% b
Dim new As Database
9 ^& R. G# T0 E, D# O4 s& xDim elem As Object
; Q# ]0 g  t+ n1 m; e# E+ A. |5 b8 eDim rs As Recordset
: I. M1 |6 @) t, ~4 K4 |* JDim RowNum As Integer 2 D3 F; Y+ s0 d( I/ D) {1 g5 f
Set work = DBEngine.Workspaces(0) 6 E1 |0 V2 z' C- d# D4 k
Dim dbs As Database
# x0 ^' t# s# C( [+ l- M5 ^! tDim tdfNew As TableDef
- ^/ U3 w. R4 MDim tdf As TableDef ' |8 ?. Q& f& [, T2 q
Dim dbsname As String 0 ^& I% K0 J* ?5 @) N6 s9 b
Dim array1 As Variant
' C) ?8 b+ I  Q+ qDim array2 As Variant ‘声明所需的变量及类型
) R% u1 h: _7 x$ U" F- \4 Xdbsname = “D:\材料表.mdb”
7 E& B8 L. v1 D‘声明Access数据库写到哪一个文件
. p$ U5 o" ]( k7 NOn Error Resume Next 0 \* z' \5 v, h# f6 n9 N) o
Set dbs = work.CreateDatabase(dbsname, _ ( Y* i# N0 F, K, K
dbLangGeneral) 1 b' i: q4 t. t& F* g! m
If Err Then
1 o! u1 @" G+ z+ M8 G1 q  yKill (dbsname) ) }8 n5 F* H: H
‘发现要写入的Access数据库文件已存在就将其删除 ; J* B8 ~# j& O0 O2 L9 C
Set dbs = work.CreateDatabase(dbsname, _ # ]' R% u/ s2 _9 X3 c4 o
dbLangGeneral) ) P; l3 l! ]) n
End If
! A8 R, T+ |; y- [4 HSet tdfNew = dbs.CreateTableDef 0 a1 ?2 S# s( \/ Q# C: Z! {' I
(“电气 _材料明细表”)
* A* f! m) W1 t! h2 s7 t+ w‘建立一个名为电气材料明细表的表 7 ?4 c! x3 h  c( \- ~1 Z
RowNum = 0 8 G( p" Z2 y, Z/ c* \8 h
Dim Header As Boolean
/ S  Q+ e3 h4 z1 k1 l; O- gHeader = False
, X' q4 r8 b/ R4 F8 h7 O4 C6 [5 k* [1 dFor Each elem In ThisDrawing.ModelSpace
: U% v8 C$ s3 d8 M" x‘在CAD模型空间,查找所有图形对象
0 o3 B1 T9 G/ @* oWith elem
: j0 F5 C* {+ e; b2 W& d4 wIf StrComp(.EntityName,_
; N( i& H+ F- S; O1 y5 r“AcDbBlockReference”, 1) = 0 Then
6 L0 \: k6 n* G0 a& f- \* ]0 rIf .HasAttributes Then
7 N& [1 I' X# x/ i# u$ carray1 = .GetAttributes
& n  l& G1 M# ^1 Y% darray2 = .GetConstantAttributes 5 q  ]- Y- e; u9 L) w
‘设置array1指向图形对象的属性
' Y& U. `2 ]& Y' }- Y9 @- Y‘设置array2指向图形对象的固定属性 + n0 |) Q& s6 d( _; n0 V& r
For Count = LBound(array2) To _ 4 f' H0 a( n, Y" r2 b0 Z  z, T
UBound(array2)
8 ], O4 d& U* o) ?4 j8 sIf Header = False Then
4 o' R2 A% I" }! XIf StrComp(array2(Count).EntityName, _
7 b( @: q5 @' h: K$ ]* [9 H" {“AcDbAttributeDefinition”, 1) = 0 Then - n5 Y  x% p# A6 J7 G# m
tdfNew.Fields.AppendtdfNew._
2 Y  c6 i/ Q7 i8 zCreateField(array2(Count).TagString, dbText)
# g' ~8 r% Q# ]& V& L8 n9 FEnd If
5 H. x& `& R" f4 p" V5 U‘读出属性值读出,作为Access数据库表的标题
5 A( R! `- y% F$ Y) ]; F& JEnd If 9 H) K6 I% M% m) @% F% k$ x
Next Count 1 ]5 z7 ]6 z; s2 v8 O5 F
For Count = LBound(array1) To _
* W6 u: T+ ~6 e( AUBound(array1)
0 d* |9 l9 \6 |If Header = False Then ! k. {2 T$ \" P9 v4 _6 L
If StrComp(array1(Count).EntityName, _ * d" g, d* J( q: y$ T; _
“AcDbAttribute”, 1) = 0 Then $ w2 F8 N% K* L' V
tdfNew.Fields.Append tdfNew. _
4 U% r- w3 ]) a- MCreateField(array1(Count).TagString, dbText) 3 M7 Q  g1 M* S" k3 ?4 U
End If
6 [% E6 X3 p, |' k7 b7 MEnd If % m8 V, O# p0 l0 e
Next Count
& d( N3 v: k/ h: @If Header = False Then & h9 [7 ~. o/ X9 Y0 z# j8 q
dbs.TableDefs.Append tdfNew
! G1 A* P. ~! n3 G  @- JSet rs = dbs.OpenRecordset
( t& @+ ?8 D+ F(“电气材料 _明细表”, dbOpenTable) ‘打开记录
4 L6 `# B* `4 q. MEnd If
+ v; L3 I" W9 y" K! ZRowNum = RowNum + 1
; p, e+ [- O7 ~7 `& [! Drs.AddNew ‘增加一笔新记录 . ~6 y# E" M2 j
For Count = LBound(array2) _
" r( M, V* S6 u6 `4 I' D2 fTo UBound(array2) ; q2 `; R4 U1 W$ m0 j; T& N) b
rs(Count).Value = array2(Count).TextString
. b; Q* i9 |% w8 G5 ANext Count ‘读固定属性值 6 w& P2 q6 @$ `, `; i
For Count = LBound(array1) To _ ' g3 q* f% a8 a8 B
UBound(array1)
0 Z6 {  `7 j" q- \rs(UBound(array2) + Count + 1).Value = _
6 y5 {+ S5 r: barray1(Count).TextString
4 Z( E7 \- n- ~" NNext Count ‘读输入属性值
' U4 W6 z/ \# grs.Update ‘增加新记录修改结束 ; t) v0 y3 v! E; h7 ]* K
Header = True . q8 N# `$ w9 e+ b
End If & ?: V3 Y3 p1 @, I: H6 l4 M
End If
* \" d- J7 x6 aEnd With ) C9 [; |! I4 `6 {) T: [
Next elem
2 h2 F/ B( C: k8 W9 |  v. Krs. Close ‘关闭记录,释放资源 " |; l/ D4 ^9 n6 h! }- F
dbs.Close ‘关闭数据库,释放资源
. n. D& ^! l- L3 I! u' [5 B5 @End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot. _+ w, z1 K+ P( j# d1 J# \$ h) R
真是太好了 ( C, b# Q( c0 b4 [3 S9 y5 T
這就是我要的 ^^
发表于 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-12 01:47

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

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

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