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()
0 X! |, s) }" o: T+ zDim work As Workspace
9 }7 t7 l: [! M4 b* }8 K( pDim new As Database
! ?* X% l- Z, ^1 dDim elem As Object ; Q( h: m$ e4 O% l7 x5 @
Dim rs As Recordset
+ N# Z# J/ i% ZDim RowNum As Integer ' H# e' x2 U% V1 w
Set work = DBEngine.Workspaces(0) : \: z" o5 }' m# T1 E( _
Dim dbs As Database 8 d$ a- b! z1 j1 A  d9 `
Dim tdfNew As TableDef
9 M3 H1 p8 U8 uDim tdf As TableDef
1 n. n7 b" M2 s3 n4 \8 ?Dim dbsname As String
" t% `& ?3 h0 Y/ K4 IDim array1 As Variant
) P6 Y  `) ^" f3 l4 G4 h5 mDim array2 As Variant ‘声明所需的变量及类型
9 r" c2 l8 N$ Ndbsname = “D:\材料表.mdb”
% [9 N% N  {/ {4 w+ a  K‘声明Access数据库写到哪一个文件
% r# ~  e: q. v% i( k, h4 aOn Error Resume Next / C- a$ A& a$ C5 Y
Set dbs = work.CreateDatabase(dbsname, _
6 j/ C% t0 i; O7 @- rdbLangGeneral)
" ~& M0 a4 M6 E1 i$ A& \1 K5 f! ~8 JIf Err Then
+ K7 k5 E2 h. d$ D0 N  o( cKill (dbsname) 5 Y! y" {2 P( E$ N6 i$ b; R; [
‘发现要写入的Access数据库文件已存在就将其删除
" y. E" A+ p4 z1 z3 S* PSet dbs = work.CreateDatabase(dbsname, _ . F9 o" q: v6 _* s" k% d5 c. X
dbLangGeneral)
4 i. ~+ j! ^1 IEnd If
3 o+ p2 L+ F# aSet tdfNew = dbs.CreateTableDef ; `& ^. _3 W; S1 A( E+ @8 b
(“电气 _材料明细表”) 0 S6 c7 T( \9 J& L
‘建立一个名为电气材料明细表的表
) u0 f- F. R+ X' d# eRowNum = 0 4 Z; u# B, P2 b% c% d
Dim Header As Boolean
5 r4 A* Q' \( ~+ _; b) x* M% {Header = False ' [4 P# ?, Z( E3 K* i( A
For Each elem In ThisDrawing.ModelSpace
& a! o" M2 L# o  O/ x‘在CAD模型空间,查找所有图形对象 ' I: R) K9 W' i6 K1 j2 Z
With elem
; L* V4 X- e4 w' h* T. s: Y& gIf StrComp(.EntityName,_ 9 X: t7 V) n# D' Z+ S3 O* J- N
“AcDbBlockReference”, 1) = 0 Then
- m4 ]) ~) A7 M/ F! ZIf .HasAttributes Then 5 P$ z; U: g/ u; o, D, w
array1 = .GetAttributes 5 u4 ?* w% F1 F# V2 [3 v$ o
array2 = .GetConstantAttributes
% r" Z2 k. @6 e0 s  d) `2 W. W‘设置array1指向图形对象的属性 1 j5 j$ S, ~2 u
‘设置array2指向图形对象的固定属性
' Q) b; u$ [  I$ jFor Count = LBound(array2) To _ 2 |. T% K; ?# S
UBound(array2) : W: h  v5 s6 D7 K! o* P" c! V
If Header = False Then
/ K7 W6 H% B9 p6 e- _# KIf StrComp(array2(Count).EntityName, _
( i6 y, g5 o3 ~0 [: Z% g“AcDbAttributeDefinition”, 1) = 0 Then
  i" F6 D1 {" c- r3 g/ b- `+ ZtdfNew.Fields.AppendtdfNew._
5 L& `1 O7 R9 H' Y1 |CreateField(array2(Count).TagString, dbText)
; u9 l( {% i4 x; o* N8 f. iEnd If
  [4 t; U3 K; Z1 Q; e/ i) {‘读出属性值读出,作为Access数据库表的标题 ' ]; ~/ A9 E4 L& U6 g& ?9 a. G$ I
End If , }, R1 w5 A8 ^  f. S
Next Count 8 V% c; A9 H8 b" p- w
For Count = LBound(array1) To _ " S: H: q% V' q! T/ q1 R) w
UBound(array1)
  |' k7 b) Y0 G/ a" X5 G# o: AIf Header = False Then
5 z4 [7 `- \8 Q* k) rIf StrComp(array1(Count).EntityName, _ * v% e. S( C; M/ _. y. {# {
“AcDbAttribute”, 1) = 0 Then
$ e9 U1 D0 Z; PtdfNew.Fields.Append tdfNew. _ 8 A2 m5 `, _5 A3 l3 N( X: Z
CreateField(array1(Count).TagString, dbText) & Q- J4 o' ?6 L: }; \0 L- e) t
End If
" W$ A& ?2 X0 j/ U8 ~2 S* |End If
% d2 S$ L$ k& c9 z) s* Q: D4 E. fNext Count
( N7 K/ ?$ B4 `7 VIf Header = False Then
3 e" [# Z+ O" K7 qdbs.TableDefs.Append tdfNew
2 K0 x4 p0 p) d3 b' ?# s: @0 V) MSet rs = dbs.OpenRecordset
- ^- o4 h* u- n( T, n* D(“电气材料 _明细表”, dbOpenTable) ‘打开记录 9 e. L* _& v4 u( T9 ?4 [
End If
; Z1 J. \2 p! b4 a/ _# e: s! N, mRowNum = RowNum + 1 ' ~$ X. b# h; g1 C
rs.AddNew ‘增加一笔新记录 4 F5 l8 k5 s* Z  @  j) f: T* u
For Count = LBound(array2) _ 1 s6 @. g5 R- V- F; i* C+ X% [$ m
To UBound(array2) 2 w6 r' a1 N  B
rs(Count).Value = array2(Count).TextString & r. R5 S9 o: N% @( r# m5 _- n
Next Count ‘读固定属性值 % O$ S7 `2 A) j9 u
For Count = LBound(array1) To _
, F/ R) e0 C0 ^$ DUBound(array1) * y2 m8 @- m8 u0 ]6 c
rs(UBound(array2) + Count + 1).Value = _ 3 F  T4 Z5 N2 B3 p4 {" v% X3 I" w0 |2 R
array1(Count).TextString 5 J: l3 y4 `/ H) w
Next Count ‘读输入属性值 3 N! F" B2 v: X/ I1 I+ k$ |8 L* d
rs.Update ‘增加新记录修改结束
2 ^1 b. h' G, o1 `, ]Header = True
# }% p( e# n! |5 }  _End If
* e) G6 M% D- o: }End If & @' o  d9 z4 a% H7 G  M
End With
# {8 T0 g3 F$ r2 |. U8 D+ g+ ANext elem " ^2 y# V0 `3 Q1 C# C7 c4 |
rs. Close ‘关闭记录,释放资源
, S. T. m$ g2 I. gdbs.Close ‘关闭数据库,释放资源 & u" A, x4 j# W+ h1 J
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot1 m4 a, Z& P; e- i  G
真是太好了 1 A* B4 R: z( @5 v# n+ K/ d
這就是我要的 ^^
发表于 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-6 13:40

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

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

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