Tips for ASP and ACCESS
一个快乐的周末,送完S.H后回办公室,非常无奈地修改上学期做的一个学院的管理系统,下面是今天用到的一些些小东西,放在这里,需要的人自然看得明白
生成错误代码的ASP修改ACCESS数据表名字代码
Set oCat=Server.CreateObject("ADOX.Catalog")
oCat.ActiveConnection = connstr
if month(now())<9 then
termnum=2
else
termnum=1
end if
lastterm=year(now())&"_"&termnum
Set oTbl = Server.CreateObject("ADOX.Table")
Set oTbl = oCat.Tables("Ecjtu_detail") '要重命名的表名
oTbl.Name = "Ecjtu_detail_"&lastterm '新表名
conn.execute("select * into Ecjtu_detail from Ecjtu_detail_"&lastterm&" where 1=2")
Set oCat = Nothing
Set oTbl = Nothing
if err then
Response.Write("错误代码"&err&"")
err.clear
Response.Write("<BR><li>出现问题 数据库可能已经被破坏 请联系管理员!")
用asp将数据库中某一个表的结构复制到另外一个表
--复制表结构为新的表
select * into NewTable from OldTable where 1=2
--复制表结构及内容到新的表
select * into newtable from oldtable
--复制表结构内的某些字段为新的表
select title,type,price,notes ok into NewTable2 from titles where 1=2
--复制表结构及内容到新的表,可以选择字段
select title,type,price,pub_id-price ok into NewTable2 from titles
--复制表结构内的某些字段为新的表
select title y1,type y2,price y3 into yongfa365 from titles where 1=2
--向新的表里添加数据
insert into yongfa365 (y1,y2,y3) select title,type,price from titles
ALTER TABLE tb ALTER COLUMN aa Byte 数字[字节]。
ALTER TABLE tb ALTER COLUMN aa Long 数字[长整型]。
ALTER TABLE tb ALTER COLUMN aa Short 数字[整型]。
ALTER TABLE tb ALTER COLUMN aa Single 数字[单精度]。
ALTER TABLE tb ALTER COLUMN aa Double 数字[双精度]。
ALTER TABLE tb ALTER COLUMN aa Currency 货币。
ALTER TABLE tb ALTER COLUMN aa Char 文本。
ALTER TABLE tb ALTER COLUMN aa Text(n) 文本,其中n表示字段大小。
ALTER TABLE tb ALTER COLUMN aa Binary 二进制。
ALTER TABLE tb ALTER COLUMN aa Counter 自动编号。
ALTER TABLE tb ALTER COLUMN aa Memo 备注。
ALTER TABLE tb ALTER COLUMN aa Time 日期/时间。
'在一个日期上再加减某个天数
DateAdd("yyyy",-38,2009-03-08)
'锁定表格
'截取一个时间中的年份/月份/日期
year(now())
month(now())
day(now())
'ASP中判断两个日期之间的相差
Dim d1
Dim d2
d1=Date
d2=#2006-10-10#
month_diff=DateDiff("m", d2, d1)
day_diff=DateDiff("d", d2, d1)
week_diff=DateDiff("ww", d2, d1)
response.write "月数之差:" & month_diff & "<br>"
response.write "天数之差:" & day_diff & "<br>"
response.write "周数之差:" & week_diff & "<br>"
使用ASP列举ACCESS数据库中所有的数据表名
Access 系统表 MsysObjects 包含了数据库对象列表, 尽管未在文档中记载, 你仍可通过查询它来获取你想要的.
注: 请不要有意或无意地修改任何ACCESS系统表,否则会出现不可意料的情况.
查询:
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;