明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2343|回复: 6

怎么样才能将这些统计数据写入DBF文件中。(已建有相同字段的D:\CYC\DeckP.dbf文

[复制链接]
发表于 2007-11-12 11:04:00 | 显示全部楼层 |阅读模式
怎么样才能将这些统计数据写入DBF文件中。(已建有相同字段的D:\CYC\DeckP.dbf文件)[br]

在我的图形中含有多个(上百个)名为“zPanel”的块,

块中有图号“DrawNO”/色卡“Color”/长度“Len”/宽度“Width”等属性,

现已通过程序可以将这些块中属性提取出来,但是不知道如何写入文件,请问:

怎么样才能将这些统计数据写入DBF文件中。(已建有相同字段的D:\CYC\DeckP.dbf文件)

若各位大虾有将这些统计数据写入XLS文件中的方法,也可以告诉我,谢谢!

这的邮箱:LLin_9461@126.com 或 Style6301@126.com

急用,现在自己开发的程序就是这段无法搞定,如果大家能帮忙解决,我相信很快我的程序

就能完成了,这将大大地提高我的工作效率,也就是说以前需要4天才能完成的工作现在只

需要1天就可以完成,因为以前这些工作是纯手工完成。谢谢大家帮忙!

 楼主| 发表于 2007-11-13 08:51:00 | 显示全部楼层

各位哥哥姐姐们,拉兄弟一把吧,我快被手工统计给烦死了,

这个月又是因为没按节点完成工作被扣奖金了,

5555555555555555555555555555555555555

发表于 2008-2-16 22:16:00 | 显示全部楼层

我是新来的,才看到你的帖子,不知道仁兄以经弄懂了吗?

我是用ADO技术连接的,就是在窗体上放一个ADODC控件,把它连接到数据库,用ADODC的Recordset对象各种方法,把你在CAD中的属性块的属性写过去,就可以了。

发表于 2008-2-19 09:25:00 | 显示全部楼层

这是我写的检查图中文本值与EXCEL表中值对应关系的小程序,写得不好,但希望对你有帮助!

Private Sub cmdBhExcel_Click()
    Dim textSSet As AcadSelectionSet '文本选择集
    Dim textfType(0) As Integer
    Dim textfData(0) As Variant
    textfType(0) = 0: textfData(0) = "Text"
   
    Dim tmpTextObj As AcadText
    Dim indexTmp As Integer
    Dim blnExcelBH As Boolean
    Dim noNumStr As String
    Dim strChBh() As String
    Dim n As Integer
    Dim i As Integer
   
    On Error Resume Next
    ' 连接Excel
    Set xlApp = GetObject(, "Excel.Application")
    If err Then
        MsgBox "未打开Excel数据文件,请先打所需的Excel数据文件!"
        Exit Sub
    End If
    err.Clear
    ' 返回新创建的工作簿
    Set xlBook = xlApp.Workbooks.Item(1)
    If err Then
        MsgBox "未打开Excel数据文件,请先打所需的Excel数据文件!"
        Exit Sub
    End If
   
    Set xlSheet = xlBook.Worksheets.Item(1)
    'xlApp.Visible = True
    err.Clear
    On Error GoTo 0
   
   
    '编号选择
    Me.Hide
    Set textSSet = CreateSelectionSet("textSSet1")
Retry:
    ThisDrawing.Utility.Prompt vbCr & "请选择所有编号文本:" '& vbCrLf
    textSSet.SelectOnScreen textfType, textfData
    ' 处理按下Esc键的错误
    If textSSet.count < 1 Then
        If CheckKey(VK_ESCAPE) = True Then
            GoTo errOut
        Else
            err.Clear
            GoTo Retry
        End If
    End If
   
    n = 0
    indexTmp = 3
    Do While xlSheet.Cells(indexTmp, 3).Value <> ""
        ReDim Preserve strChBh(n) As String
        strChBh(n) = xlSheet.Cells(indexTmp, 3).Value
        indexTmp = indexTmp + 1
        n = n + 1
    Loop
   
    For Each tmpTextObj In textSSet
        blnExcelBH = False
        For i = 0 To n - 1
            If UCase(tmpTextObj.TextString) = UCase(strChBh(i)) Then
                blnExcelBH = True
            End If
        Next
       
        If Not blnExcelBH Then
            tmpTextObj.color = 63
            noNumStr = noNumStr & "<" & tmpTextObj.TextString & ">" & vbCr
        End If
    Next
    If Len(noNumStr) > 0 Then
        MsgBox "Excel数据表中无此编号:" & vbCr & noNumStr, vbOKOnly, "注意!"
    Else
        MsgBox "Excel数据表中有此编号:", vbOKOnly, "好的!"
    End If
errOut:
    Me.Show
End Sub

发表于 2008-2-25 18:52:00 | 显示全部楼层

谢谢提供 今天收获了

 楼主| 发表于 2008-3-7 16:17:00 | 显示全部楼层

这个问题我前段时间已经搞定了,并且找了个办法将数据转换成DBF文件。

但是无论如何还是要感谢4楼的大哥支持,谢谢!

发表于 2008-3-19 08:53:00 | 显示全部楼层
xiexiea!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 11:49 , Processed in 0.154892 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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