Sub CopyTable(PathName,TableName,TableName1)
response.Write("<br>資料庫路徑:"&PathName)
response.Write("<br>來源資料表名稱:"&TableName)
response.Write("<br>目標資料表名稱:"&TableName1)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set Conn=server.createobject("Adodb.connection")
On Error Resume Next
Conn.open strConn
strSql1 = "select * from "&TableName&" where 1=0"
rsSrc.open strSql1,conn,1,3
strSql = "create table "&TableName1&"("
response.Write(rsSrc.Fields(0).Type)
for i = 0 to rsSrc.Fields.Count - 1
select case rsSrc.Fields(i).Type
case 2
strSql = strSql&rsSrc.Fields(i).Name&" short,"
case 3
if rsSrc.Fields(i).Properties("ISAUTOINCREMENT") = True then
strSql = strSql&rsSrc.Fields(i).Name&" Autoincrement,"
else
strSql = strSql&rsSrc.Fields(i).Name&" integer,"
end if
case 4'單精確度數字
strSql = strSql&rsSrc.Fields(i).Name&" real,"
case 5'雙精確度數字
strSql = strSql&rsSrc.Fields(i).Name&" double,"
case 6'貨幣
strSql = strSql&rsSrc.Fields(i).Name&" Currency,"
case 7'日期時間
strSql = strSql&rsSrc.Fields(i).Name&" datetime,"
case 11'是/否
strSql = strSql&rsSrc.Fields(i).Name&" YesNo,"
case 17'位元組型數字
strSql = strSql&rsSrc.Fields(i).Name&" byte,"
case 72'同步複製ID數字
strSql = strSql&rsSrc.Fields(i).Name&" guid,"
case 131'帶小數點數字
strSql = strSql&rsSrc.Fields(i).Name&" Numeric,"
case 202'文本
strSql = strSql&rsSrc.Fields(i).Name&" varchar,"
case 203'備忘/超級連結
strSql = strSql&rsSrc.Fields(i).Name&" memo,"
case 205'OLE對象
strSql = strSql&rsSrc.Fields(i).Name&" OLEObject,"
case 129
strSql = strSql&rsSrc.Fields(i).Name&" char("&CStr(rsSrc.Fields(i).DefinedSize)&"),"
case else
response.write("<script>alert('資料表"&tablename&"表中欄位 "&rsSrc.Fields(i).Name&" 類別"&rsSrc.Fields(i).Type&"錯誤 ,系統即將返回');location.href='CopyTable.asp';</script>")
Response.end
end select
next
strSql = Left(strSql,Len(strSql)-1)&")"
rsSrc.Close
response.Write(strSql)
response.End()
conn.execute(strSql)
conn.close
set Conn=nothing
response.write("<script>alert('資料從表"&tablename&"到表"&TableName1&" 複製成功 ,系統即將返回');location.href='CopyTable.asp';</script>")
Response.end
End Sub