2

次のクエリから、使用されているテーブルとテーブル列の種類を選択できますか? 私はmsアクセスに慣れていないので、かなり混乱しています。調べてみましたが、次のテーブル/列が使用されていますか?

テーブル名 || テーブル列 com020 (.t_nama,.t_namb) mcs031 (.t_suno,.t_dsca)

そして、テーブル com020 の列 t_cbrn で RIGHT 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
4

1 に答える 1

0

countryCodeは、データベースで変数テーブルが使用されている場合に、add-hockクエリを形成するために使用されます。このように、各テーブルを処理するためにクエリを更新する必要はありません。

列の名前は次のとおりです。t_namat_nambt_sunot_dsca

クエリが作成された時点でデバッグモードでビューを中断し、SQLを保持している変数を「イミディエイト」ウィンドウにコピーして、クエリが形成された後の結果を確認すると便利です。

于 2012-04-27T13:45:07.250 に答える