用SQL語(yǔ)句查找Access中某表是否存在的小技巧
Access數(shù)據(jù)庫(kù)雖然功能單一,但的確是一個(gè)小巧精干的開(kāi)發(fā)伙伴,我在多個(gè)項(xiàng)目中與它見(jiàn)面,為了探知Access數(shù)據(jù)庫(kù)的本源,今天上網(wǎng)查了些資料。現(xiàn)總結(jié)歸納如下:
在Access數(shù)據(jù)庫(kù)中通過(guò)SQL語(yǔ)句找到某一表是否存在的確是一件困難的事。幸好, Access本身就有一些隱含的數(shù)據(jù)對(duì)象能夠保存你庫(kù)中的信息,今天我就遇到了要用SQL,通過(guò)程序查詢某一表是否存在的問(wèn)題,解決方法如下:
由于Access數(shù)據(jù)庫(kù)本身的“管理員”組沒(méi)有訪問(wèn)隱含對(duì)象的權(quán)限,因此先要:工具 -> 選項(xiàng) -> 視圖 -> 隱藏對(duì)象、系統(tǒng)對(duì)象,前面的勾選上。
然后,工具 -> 安全 -> 用戶與組的權(quán)限,在對(duì)象名稱中選定 MSysObjects(我只用到這個(gè)對(duì)象,如果需要用到其它的,可以再選) ,然后權(quán)限中設(shè)置“讀取數(shù)據(jù)”權(quán)限。
最后,保存設(shè)置,在程序中就可以通過(guò)SQL語(yǔ)句查詢表是否存在了,語(yǔ)句如下:
SELECT Count(*) AS RTab FROM MSysObjects WHERE (((MSysObjects.Name) Like "需判斷的已知表名"));
返回1為存在, 0為不存在
系統(tǒng)環(huán)境:Win2000 Access2000
相關(guān)文章:
1. 數(shù)據(jù)庫(kù)相關(guān)的幾個(gè)技能:ACCESS轉(zhuǎn)SQL2. Microsoft Office Access刪除表記錄的方法3. Microsoft Office Access調(diào)整字段位置的方法4. 將Access升級(jí)為SQL Server 20055. MySQL優(yōu)化之如何寫(xiě)出高質(zhì)量sql語(yǔ)句6. 用SQL語(yǔ)句完成SQL Server數(shù)據(jù)庫(kù)的修復(fù)7. Access數(shù)據(jù)庫(kù)導(dǎo)入Mysql的方法之一8. Access數(shù)據(jù)庫(kù)不能寫(xiě)不能更新的解決方法9. access不能打開(kāi)注冊(cè)表關(guān)鍵字錯(cuò)誤處理方法(80004005錯(cuò)誤)10. 史上超強(qiáng)最常用SQL語(yǔ)句大全
