• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「#エラー」を含んでいても、並べ替えができるようになりたい。)

テーブルの並べ替えによるエラー対策方法

このQ&Aのポイント
  • クエリを使用してテーブルの並べ替えを行う際に、「#エラー」という値が存在する場合に起こるエラーについて、その対策方法を紹介します。
  • テーブルに存在する「#エラー」という値は並べ替えや抽出条件で問題が発生し、正常に操作ができません。
  • この場合、他の値にデータ型を変えることで問題を回避することができます。具体的には、「#エラー」があるフィールドのデータ型を変更し、文字列型などに変換します。

質問者が選んだベストアンサー

  • ベストアンサー
  • tag1701
  • ベストアンサー率54% (67/123)
回答No.1

こんにちは。 私も色々探してみました。テーブル同士でするとエラーが 出ないのに、クエリ同士で連結するとエラーになる。。? どうやらReplaceを行なった場合にデータが無い状態の際にエラー が出るようです。 本来であれば質問者の流れにそってベストな回答が 出来れば良かったのですが、力量不足で。。 下記のSQLをクエリ1として、この1クエリだけで 行なってみてください。 そうするとテーブル2に無いエリアは空白となり、A列での 昇順・降順もB列での昇順・降順もなるようです。 (ただし沢山空白がある場合、全てそれが先頭あるは最期に固まり  ますが) SELECT Replace(nz([テーブル1]![1],""),"-","") AS 式1, Replace(nz([テーブル2]![2],""),"-","") AS 式2 FROM テーブル1 LEFT JOIN テーブル2 ON テーブル1.[1] = テーブル2.[2];

bkfirj
質問者

お礼

いえいえ。とんでもないです。 色々調べてくださって感謝しています。 Replace関数とクエリの組み合わせが原因のようですね。 提示のSQL文、大変参考になりました。 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセス エラーを数値「0」に変換するには

    こんばんは。 テーブル1のフィールド1を、テキスト型にし 1 2 3 あ と入力しました。 クエリを作成し、 SELECT CLng([テーブル1]![フィールド1]) AS 数値に変換 FROM テーブル1; とした場合、 「あ」の部分が数値に変換できないため、「#エラー」となります。 このままだと、並べ替えをしようとすると 「抽出条件でデータ型が一致しません。(Error 3464)」 となるため、「#エラー」を0へ変換したいのですが、 やり方がわかりません。 IIFなどを使うのでしょうか? ご教授よろしくお願い致します。

  • access2003 「#エラー」を文字列にしたい

    テキスト型に入れた値を数値に変換し、「#エラー」を文字列にしたい テーブル1のデザインビューで ・フィールド1 テキスト型 ・主キーなし として データを 1 2 あ を投入します。 そして SELECT CLng(テーブル1!フィールド1) AS 数値型に変換 FROM テーブル1; クエリを作りました。 1と2は数値に変換されますが、文字列を入れた「あ」は 「#エラー」になります。  「#エラー」を「未設定」という文字列にしたいのですが どうすえばいいのでしょうか? よろしくお願いします。

  • Accessの抽出についての質問

    Accessの抽出についての質問をします。 テーブルからデータシートビューで開いたものを「レコード」「フィルタ」「フィルタ/並べ替えの編集」で条件を入れて抽出できると思います。 そこまでは理解できたのですがクエリの場合はもう1つあると知りました。 クエリの中のデータをやはりデータシートビューで開いて、「レコード」「フィルタ」「フィルタ/並べ替えの編集」で条件を入れて抽出する以外に デザインビューで開いてデザイングリッドという下の画面でも同じように条件を入れて抽出できると聞きました。 画面はデータシートビューでの「フィルタ/並べ替えの編集」画面と少し似ているようですがちょっと違います。 この2つはどう違うのですか どう使い分けるといいのでしょうか? 教えてください。

  • テキスト型に入れた値を数値に変換し、「#エラー」を

    テキスト型に入れた値を数値に変換し、「#エラー」を0にしたいです。 access2003です。 テーブル1を ・テキスト型 ・主キーなし として データを 1 2 あ を投入します。 そして SELECT CLng(テーブル1!フィールド1) AS 数値型に変換 FROM テーブル1; クエリを作りました。 このクエリを開くと 1と2は数値に変換されますが、文字列を入れた「あ」は 「#エラー」になります。 「#エラー」を0にしたいのですが どうすえばいいのでしょうか?

  • ACCESSクエリーで特定の項目を更新したい

    ACCESSでテーブルから抽出したクエリーの特定の列だけに 1という数字をふりたいのですが、 update 抽出元のテーブル set 任意のセル = 1 where クエリー名 更新クエリーで上記SQLを設定しても、クエリー実行時に、 バラメータを要求され、 全てのテーブル列に1がふられます。 式が違うのでしょうか。 デザインビューにしてSQLビューに切るかえる。 select 列 from 抽出元のテーブル where 抽出の条件 ; みたいなデータです。 where の前を書き換えます。 select 列 from 抽出元のテーブル の部分を update 抽出元のテーブル set 任意のセル = 1 としてください。 最終的には以下のイメージ update 抽出元のテーブル set 任意のセル = 1 where 抽出の条件 ;

  • ACCESS更新クエリー活用方法について

    ACCESSでテーブルから抽出したクエリーで表示された特定の列だけに 1という数字をふりたいのですが、 update 抽出元のテーブル set 任意のセル = 1 where クエリー名 上記方法、更新クエリーで上記SQLを設定しても、クエリー実行時に、 バラメータを要求され、結果 全てのテーブル列に1がふられます。 式が違うのでしょうか。あくまでもクエリーで抽出されたものだけに 1をふりたいのですが。 デザインビューにしてSQLビューに切るかえる。 select 列 from 抽出元のテーブル where 抽出の条件 ; みたいなデータです。 where の前を書き換えます。 select 列 from 抽出元のテーブル の部分を update 抽出元のテーブル set 任意のセル = 1 としてください。 最終的には以下のイメージ update 抽出元のテーブル set 任意のセル = 1 where 抽出の条件 ;

  • Accessクエリでの並べ替えについて

    Accessクエリでの並べ替えについて Accessのクエリで並べ替えを行う場合、デザインビューで行うほかに、結果であるデータシートビュー でも並べ替えを行うことができますが、この2つの違い(使い分け)を教えてください。 データシートはクエリの表示のみで、作成したフォームやレポートには反映しないと思っていたの ですが、並べ替え後にクエリを保存すると、クエリプロパティに並べ替えの条件が保存されるため、 その後作成したフォームやレポートに反映されました。 デザイン側で行うのと、データシート側で行うものの使い分けはどのようになるのでしょうか??

  • ACCESSパススルークエリでオラクルDB接続

    パススルークエリを用いてオラクルDBの「売上明細」テーブルのデータを抽出する。 抽出の対象はLOCALのテーブル「対象年月」で指定した月のデータに絞る。 上記の抽出をする場合、選択クエリのSQLでは Select * From 売上明細 Where Exists (Select * From 対象年月 Where 売上明細.YM=対象年月.YM); で抽出出来るのですが、パススルーだと#942「表またはビューが存在しません。」 のエラーが出ます。  年月の条件を付けずにすべてのデータを抽出することは出来るのですが 構文教えていただけるとありがたいのですが

  • アクセス 数値+日付をyyyy/mm/dd(aaa

    テーブルに 20121201aaa 20121203bbb と言うデータがあるのですが これをクエリで あ2012/12/01(土) あ2012/12/03(月) に変えるにはどうすればいいでしょうか 数値の後ろの文字はいろんなパターンがあるので置換じゃ追いつきません。 SELECT Format(Left([テーブル1]![test],8),"yyyy/mm/dd(aaa)") AS 日 FROM テーブル1; にすると#エラーになってしまいます。 SELECT Format(CDate(Left([テーブル1]![test],8)),"yyyy/mm/dd(aaa)") AS 日 FROM テーブル1; これでもダメでした・・・

  • Requeryしても並べ替えはされないのでしょうか

    【条件】*************************** (テーブル1) フィールド1 1 2 3 4 5 (クエリ1) SELECT テーブル1.フィールド1 FROM テーブル1 ORDER BY テーブル1.フィールド1; (フォーム1) レコードソース:クエリ1 既定のビュー:帳票フォーム コマンド3:コマンドボタン Private Sub コマンド3_Click() Me.Requery End Sub ************************************ 上記の条件で、3レコード目の「3」を「10」に変更し、 コマンド3を押下しても、10は3レコード目のままです。 フォーム1をバツボタンで閉じて、フォーム1を開きなおすと10は一番下に来ます。 Requeryで更新しているのに、なぜ並び替えがされないのでしょうか?

このQ&Aのポイント
  • 大道芸人やAVでよく見かける全身金色の人や全身銀色の人がいますが、どのような塗料を使用しているのでしょうか?実際に購入する方法も知りたいです。
  • 一般的なペンキでは肌に付いてしまい、落ちないと思われます。そこで、どのような塗料が使われているのか気になります。
  • バケツに入った銀色の塗料を直接かける方法が良いと考えています。具体的な購入方法や銀色塗料の種類について教えてください。
回答を見る

専門家に質問してみよう