当前位置:首页 > 网络编程 > 数据库 > ACCESS > 关于表的操作问题。请指教

关于表的操作问题。请指教

点击次数:23 次 发布日期:2008-11-27 18:37:35 作者:源代码网
源代码网推荐

源代码网整理以下 1,如何判断表、查询是否存在?
2,如何动态建立查询
3,某表已有,怎样动态增加字段和默认值
4,如何删除表、查询
5,如何动态修改某个字段属性、删除某个字段
要求sql语句实现。
---------------------------------------------------------------

(问): 怎样使用一个查询获得数据库对象的名称(查询/窗体/表/报表/模块/宏)?

(答): 请详细参阅ADO参考文档中OpenSchema

(答): Access 系统表 MsysObjects 包含了数据库对象列表, 尽管未在文档中记载, 你仍可通过查询它来获取你想要的.

注: 请不要有意或无意地修改任何ACCESS系统表,否则会出现不可意料的情况.

使用下列 SQL 语句来获取你想要的

查询:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)=5 ORDER BY MSysObjects.Name; 


窗体:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)=-32768 ORDER BY MSysObjects.Name; 


表:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name; 


报表:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)= -32764 ORDER BY MSysObjects.Name; 


模块:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)= -32761 ORDER BY MSysObjects.Name; 


宏:
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND (MSysObjects.Type)= -32766 ORDER BY MSysObjects.Name;

2、动态建立查询用  create view等 ddl语句
3、jet sql对默认值无此功能,需要使用adox
4、删除表用  drop table
5、用alter table得 ddl语句


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华