2012-04-27 48 views
2

可以選擇使用哪種表格和表格列?我是新來的MS訪問它相當混亂,我看了一下,是否使用了以下 表/列?從以下查詢中瞭解msaccess查詢

表名||表列 com020(.t_nama,.t_namb) mcs031(.t_suno,.t_dsca)

以上表列com020 RIGHT t_cbrn JOIN。

並不明白爲什麼& ContryCode &正在使用的所有時間。

Sub VSearch(Letter,Name,Vcode,LPage,CurrentPage) 
dim countryCode 
countryCode = readfromRegistry("HKEY_LOCAL_MACHINE\SOFTWARE\HR\DSN\mkCountryCode") 

dim oRs2,Query2,i,colourcount 
Set oRs2 = Server.CreateObject("ADODB.Recordset") 

Query2 = "SELECT com020" & countryCode & ".t_nama, com020" & countryCode & ".t_namb, ttccom020" 
& countryCode & ".t_suno, mcs031" & countryCode & ".t_dsca FROM mcs031" & countryCode 
& " RIGHT JOIN com020" & countryCode & " ON mcs031" & countryCode & ".t_cbrn = com020" & countryCode & ".t_cbrn " 

if letter <> "" then 
Query2 = Query2 & "WHERE (com020" & countryCode & ".t_nama) Like '" & QueryFix(Letter) &  "%' escape '\' ORDER BY com020" & countryCode & ".t_nama" 
elseif name <> "" then 
Query2 = Query2 & "WHERE LOWERCASE((com020" & countryCode & ".t_nama)) Like '%" & LCase(Name) & "%' ORDER BY com020" & countryCode & ".t_nama" 
elseif Vcode <> "" then 
Query2 = Query2 & "WHERE (com020" & countryCode & ".t_suno) Like '%" & UCase(Vcode) & "%' ORDER BY com020" & countryCode & ".t_nama" 
elseif LPage <> "" then 
Query2 = Query2 & "WHERE (com020" & countryCode & ".t_cbrn) = '" & LPage & "' ORDER BY com020" & countryCode & ".t_nama" 
end if 
+0

你試過調試過嗎? – Arion 2012-04-27 06:12:08

+3

這些列是** t_nama **,** t_namb **,** t_suno **,** t_dsca ** 但是,您的所有表都使用countryCode命名,例如,如果CountryCode是** ABC **,您的表名將是** msc031ABC **,** com020ABC ** – Nick 2012-04-27 06:13:11

+0

謝謝Nick!我現在明白了。 – 2012-04-27 06:17:03

回答

0

countryCode用於在數據庫中使用變量表的情況下形成一個add-hock查詢。這樣查詢就不必更新來處理每個表。

列的名稱是: t_nama t_namb t_suno t_dsca

我發現它有用在查詢創建點突破視圖在調試模式和變量保存在SQL複製到你的「立即「窗口在查詢結果形成後查看結果。