2012-04-27 8 views
2

君たちが使用されているものを、テーブルとテーブルの列の並べ替え選ぶことができますか?私は非常に混乱して、私は見ていた、それは次のですか? テーブル/列が使用されているmsアクセスに新しいですか?理解MSACCESSクエリは、次のクエリから

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

、右表のcom020の列t_cbrnに登録しよう。

なぜ、& 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

+3

列は** t_nama **、** t_namb **、** t_suno **、** t_dsca ** ただし、すべてのテーブルがCOUNTRYCODEで命名されている、例えばあります国番号がある場合** ABC **、あなたのテーブル名は次のようになり** msc031ABC **、** com020ABC ** – Nick

+0

おかげでニック!私は今それを理解する。 –

答えて

0

countryCodeは、データベースで使用されている変数テーブルを持つイベントでアドホッククエリを作成するために使用されます。このように、各テーブルを処理するためにクエリを更新する必要はありません。

列の名前は次のとおりです。 t_nama t_namb t_suno t_dsca

私はそれが便利なクエリを作成した時点で、デバッグモードでビューを破り、あなたの "にSQLを保持する変数をコピーするために見つけますそれが形成された後の照会の結果を見るために「即時」ウィンドウを使用する。