2010-01-14 45 views
0

所有表2003 VBA我提出用這種方法通過Excel中顯示MS查詢編輯器「創先爭優」

Sub CreateDataSourceFile() 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set txtfile = fso.CreateTextFile("C:\program files\Common Files\ODBC\Data Sources\" & Me.cnnName & ".dsn", True) 
    txtfile.WriteLine ("[ODBC]") 
    txtfile.WriteLine ("DBQ=" & Me.DBFolderName) 
    txtfile.WriteLine (Me.DBFolderName) 
    txtfile.WriteLine ("DefaultDir=C:\") 
    txtfile.WriteLine ("Driver={Driver do Microsoft Access (*.mdb)}") 
    txtfile.WriteLine ("DriverId = 25") 
    txtfile.WriteLine ("FIL=MS Access") 
    txtfile.WriteLine ("MaxBufferSize = 2048") 
    txtfile.WriteLine ("MaxScanRows = 8") 
    txtfile.WriteLine ("PageTimeout = 5") 
    txtfile.WriteLine ("SafeTransactions = 0") 
    txtfile.WriteLine ("Threads = 3") 
    txtfile.WriteLine ("UserCommitSync = Yes") 
    txtfile.WriteLine ("[Microsoft Office]") 
    txtfile.WriteLine ("DefaultTable =" & Me.cnnName) 
    txtfile.Close 
End Sub 

現在的問題時,微軟的查詢編輯器打開時我的連接DSN連接,它會自動添加默認的表給編輯,我需要的是讓數據庫中的所有表自動添加?

這是可用嗎?! 有沒有辦法通過編輯dsn文件來做到這一點?

任何方式,如果任何人可以幫助我,我會爲他感謝全部。

有一個愉快的一天&感謝您的閱讀,

+0

這是http://stackoverflow.com/questions/2076422/access-get-all-tables的重複 - 請參閱我今天發佈的評論,因爲它要求澄清你想做什麼,因爲你在那裏提出的問題在表面上是無意義的。 –

+0

爲不合格問題添加賞金並不會讓你更早得到答案。你需要重新提出這個問題。 –

回答

0

您可以通過控制面板設置ODBC數據連接:

開始>控制面板 - >管理工具>數據源(ODBC)

點擊系統DSN選項卡,然後點擊添加。選擇驅動程序(取決於您擁有的數據庫提供程序),然後它會詢問您的相關信息 - 您想要給您的數據連接的名稱,服務器名稱,身份驗證類型等 - 它會引導您完成該過程。

一旦建立了ODBC數據連接,就可以調用Excel的查詢編輯器並告訴它連接的名稱。我使用Excel 2007中,但我認爲是如何到達那裏在2003年:

數據>導入外部數據>新建數據庫查詢

然後,它可以讓你選擇你的ODBC數據源之前創建。

一旦您進入查詢編輯器,您將能夠看到您有權訪問的所有表格。

我不完全清楚你以後的樣子。這有幫助嗎?如果沒有,請給我更多關於如何試圖獲取數據的詳細信息。

+0

是的,這是我想要的,但對於這部分「你將能夠看到你有權訪問的所有表」我希望它自動將所有表添加到查詢板。 –

+0

我不確定有什麼區別。你的意思是你想看看你實際上無法訪問的表格嗎?如果是這樣,由於數據庫本身的安全設置,這可能是不可能的。 – dendarii