2009-07-09 2 views
0

コードで表の注文を表示するにはどうすればいいですか?コードで表の注文を表示するにはどうすればいいですか?

アクセス2003データベース

表ように

Raja  05  03 
Ramu  03  
Vijay  01  02 
John  04  01 
Roby  06 
Abilash 02  05 

名前タイトルコード国籍コード

...、私はタイトルのコードでテーブルの順序を表示したい

、国籍コードを使用します

私の「国籍コード」フィールドには列の中にはNULLがあるため、タイトルコード、国籍コード(01,02、次にヌル列など)で表の注文を表示したい

選択国籍コードによってテーブルの順序から*、タイトルコード

Name  Title Nationality 
Ramu   03 
Roby   06 
John   04  01 
Vijay  01  02 
Raja   05  03 
Abilash  02  05 

しかし、ヌル値は国籍コードで最初に来て、私は01、02、03、05のような国籍のコードを表示したいその後、null値

クエリのヘルプが必要です。

答えて

1

のみアクセスユーザーインターフェース内で動作します、例えば、NULL列の値を提供するORDER BY Nz(Nationality,9999999)

NZ()Nz関数を使用してみてください。より中立的なアプローチの場合は、ORDER BY句の式を試すことができます。何かのように

ORDER BY (LEN(nationality_code) > 0), nationality_code, title_code; 
+0

@Paul Dixonの – Gopal

+0

で何も効果がありません。私はNzを使用しましたが、最初にヌル値を表示し、次に数値を表示します。 – Gopal

0

これらの値は長さがゼロの値ではなくNULLになっていますか?それらが存在する場合は、それらをNULLに置き換え、ゼロ長の許容を列に対してfalseに設定するか、同じことを行うための検証規則またはCHECK制約を追加します。

NULLの場合、これはバグかもしれません。私は、NULL照合が結果セットの最後にNULLをソートする必要があるJet 4.0を使用していると仮定します。その場合、回避策(現在選択されている回答)が必要です。

Nulls/ZLSに関する注記:Access 2003(またはおそらくこれまで使用していた2002年)は、テーブルデザイナーのデフォルトをAllowZLSからAllowZLSに変更しました:AllowZLS:はい。非常に迷惑です。

+0

Nulls/ZLSに関する注記:Access 2003(またはおそらくこれまで使用していた2002年)は、テーブルデザイナーのデフォルトをAllowZLSからAllowZLS:Noに変更しました。非常に迷惑です。 –