有没有办法从SQL Server中读取数据库中的表结构(不是表数据)放到 Excel 中今天整理数据库,发现关系图排版实在麻烦,有没有办法把表的结构弄到 Excel 中去。我需要字段名、字段类型、Not Null,注释、主键、外键的信息。
作者: winak
发布时间: 2003-11-26
使用adox不行吗?我没用过sql所以不太清楚,不过我想应该是此种方法
作者: hzg7818
发布时间: 2003-11-26
哈!终于搞定了今天终于把 Excel 超级利用了一把,HAPPY!
作者: winak
发布时间: 2003-11-27
怎么搞的, 介绍一下
作者: killcet
发布时间: 2003-11-28
引用:
以下是引用winak在2003-11-27 22:49:00的发言:哈!终于搞定了今天终于把 Excel 超级利用了一把,HAPPY!
建议介绍一下整个过程。
作者: cxffxc
发布时间: 2003-11-28
当时用的 Excel 查询数据库,现在回想一下,觉得还是利用 SQL 生成表之后导出到 Excel ,毕竟我要的只是做数据库说明。礼拜一我把整理好的 SQL 语句贴上来——如果有人要的话:)这样整理数据库说明方便多了
作者: winak
发布时间: 2003-11-28
作者: ExcelMan
发布时间: 2003-12-01
楼主,据俺所知.用导出的时候会把数据也一起导出来吧!!!!
作者: nakedant
发布时间: 2003-12-02
引用:
以下是引用nakedant在2003-12-2 14:47:00的发言:楼主,据俺所知.用导出的时候会把数据也一起导出来吧!!!!
如果是那样就不发在这里了:)
作者: winak
发布时间: 2003-12-02
导出的时候选中用SQL语句导出,或者你在SQL的查询分析器里面先执行一下下面的语句,注意需要先指定数据库use NorthwindSELECT(case when a.colorder=1 then d.name else '' end) N'表名',a.colorder N'字段序号',a.name N'字段名',(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) N'标识',(case when (SELECT count(*)FROM sysobjectsWHERE (name in(SELECT nameFROM sysindexesWHERE (id = a.id) AND (indid in(SELECT indidFROM sysindexkeysWHERE (id = a.id) AND (colid in(SELECT colidFROM syscolumnsWHERE (id = a.id) AND (name = a.name))))))) AND(xtype = 'PK'))>0 then '√' else '' end) N'主键',b.name N'类型',a.length N'占用字节数',COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'长度',isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'小数位数',(case when a.isnullable=1 then '√'else '' end) N'允许空',isnull(e.text,'') N'默认值',isnull(g.[value],'') AS N'字段说明'into db_Database_ModuleFROMsyscolumnsa left join systypes bona.xtype=b.xusertypeinner join sysobjects don a.id=d.idandd.xtype='U' andd.name'dtproperties'left join syscomments eon a.cdefault=e.idleft join sysproperties gon a.id=g.id AND a.colid = g.smallidorder by object_name(a.id),a.colorder
作者: winak
发布时间: 2003-12-02
版主的sql水平真是很棒,此代码可以通用!我看你不是把excel超级爽用了一把,而是把sql超级爽用了一把,哈!:)对了,你应该在贴中的代码下面在加上以下代在码:select *from db_Database_Module
[此贴子已经被作者于2004-1-8 10:48:38编辑过]
作者: cpali3023
发布时间: 2004-01-08
我在sql查询分析器中贴入上述sql语句后点执行就有以下信息提示(所影响的行数为 177 行)但没有任何结果输出来,连正常的select查询的列标题都没有,所以我现在有些迷惑,不知这段sql语句都干了些什么呢?(所影响的行数为 177 行)--有没有对数据库作操作类的改动查询呢?请wank解答!
作者: zijing
发布时间: 2004-01-10
这条词句在你的数据库中生成了一个新表db_Database_Module,按11楼我所加的语句在执行一下,你就可以看到你的数据库中所有的表及字段的主要信息。
作者: cpali3023
发布时间: 2004-01-11
Private Sub CommandButton1_Click()Cells.ClearContentsWith ActiveSheet.QueryTables.Add(Connection:="ODBC;DSN=MS Access Database;DBQ=" & ThisWorkbook.path & "\五金件.mdb;;;UID=admin;PWD=219", Destination:=Range("A1"))'位置.CommandText = "SELECT * FROM 材料明细"'工作表名.Refresh BackgroundQuery:=FalseEnd WithEnd Sub
作者: smssms
发布时间: 2004-08-28
正是我需要的,非常感谢!!
作者: tacwuniu
发布时间: 2005-05-20
看不懂,怎么不加注释。
作者: 卧龙布衣
发布时间: 2005-05-21
楼上的和我名字差两个字雷同的朋友,建议您先去资源共享学习下VBA.
初级三以后回来看这些代码就没问题了!
作者: 布衣铁剑
发布时间: 2005-05-22
谢谢铁剑一家子!
作者: 卧龙布衣
发布时间: 2005-06-01
建议楼主用VISIO试试,还可以将表间关连都可以导出来
作者: 烟雨厦江南
发布时间: 2006-01-07
有谁能把楼主在10楼的代码整理一下,没有分行,看得难受,难道以上的代码就一行?就算是一行,也可以用连接符连接分行的代码,否则怎么看得懂?
作者: chenhuafu
发布时间: 2006-02-14
我也想知道啊
作者: .无忧.
发布时间: 2006-02-14
我想把EXCEL表格中的数据导入到SQL SERVER里
并且把SQL SERVER中的数据导出到EXCEL里
那该怎么办啊?
请大家帮忙啊!!!
作者: 忘记黑夜
发布时间: 2006-02-16
作者: ls6860881
发布时间: 2007-03-26
学习
作者: narutoshyb
发布时间: 2007-04-12
作者: tangj_2005
发布时间: 2007-04-23
作者: numen
发布时间: 2007-04-27
作者: leekingnet
发布时间: 2007-12-22
SQL2005 出現下图提示document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" />
附件

DaBKQupV.gif(15.8 KB)
2007-12-23 11:35
SQL——Excel
作者: nawong
发布时间: 2007-12-23
作者: 大家好2008
发布时间: 2008-12-10
楼主厉害!
学习了!
作者: star-ula
发布时间: 2008-12-11