兰州人 发表于 2008-3-4 10:53:00

简单实用的绘图数据组织方法, SQL查询组织excel表数据。

本帖最后由 作者 于 2008-3-4 10:59:54 编辑 <br /><br /> <p>AutoCAD 绘图效率主要是体现在绘图数据的组织编排上。</p><p>多数使用AutoCAD的大侠的数据组织使用的软件是excel,将excel组织的数据传输到autocad中绘图,要比用access等数据库方便实用、有非常广的群众基础。</p><p>此方法是在Autocad VAB中使用ADO技术的SQL语句,将excel组织的数据,通过条件查询传输到autocad绘图,工作效率非常高。</p><p>使用相当简单。程序如下。</p><p>Sub ADORecordset()<br/>&nbsp;&nbsp;&nbsp; Dim Sql$<br/>&nbsp;&nbsp;&nbsp; Dim RST As New ADODB.Recordset '若要使用 RST.RecordCount 计算记录个数,此项必须,故一定要设置引用:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'VBE 中菜单“工具-引用-Microsoft ActiveX Data Objects 2.0 Library”<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(1)定义对象<br/>&nbsp;&nbsp;&nbsp; Set Conn = CreateObject("adodb.connection")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(2)设置 connection 对象<br/>&nbsp;&nbsp;&nbsp; Set RST = CreateObject("Adodb.Recordset")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(3)设置 Recordset 对象<br/>&nbsp;&nbsp;&nbsp; Conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" &amp; "d:\hg\hg20592.xls"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(4)打开连接<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp; Sql = "Select Pg1_6,F1 from [密封面$] where Dn = 100"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(5)设置 Sql 语句<br/>&nbsp;&nbsp;&nbsp; RST.Open Sql, Conn, adOpenStatic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'adOpenStatic静态指针,以便计算记录个数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '(6)执行 Sql 语句<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; d1 = RST.Fields(0)<br/>&nbsp;&nbsp;&nbsp; F1 = RST.Fields(1)<br/>End Sub</p><p>就这么几条语句就可将HG20592原化工部法兰标准,通过条件查询组织数据绘制法兰图形。简单实用吧!</p>

兰州人 发表于 2008-3-4 14:15:00

<p>将以上的SQL语句改成如下语句,可实现excel的多表连接查询。</p><p>&nbsp;&nbsp;&nbsp; Sql = "Select a.Pg2_5,a.F1," &amp; _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "b.A3,b.A4,b.A5,b.A6,b.A7,b.A8,b.A10,b.A11,b.A12 " &amp; _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "from [密封面$] as a, as b&nbsp; where a.dn = 100 and b.dn = 100"</p><p>但left join方法没有调试通,有时间再研究吧。<br/></p>

mccad 发表于 2008-3-4 19:10:00

<p>条件一般应该是where a.dn=b.dn and a.dn=100,这样比较合理。</p>
页: [1]
查看完整版本: 简单实用的绘图数据组织方法, SQL查询组织excel表数据。