- ベストアンサー
テーブルの並べ替えによるエラー対策方法
- クエリを使用してテーブルの並べ替えを行う際に、「#エラー」という値が存在する場合に起こるエラーについて、その対策方法を紹介します。
- テーブルに存在する「#エラー」という値は並べ替えや抽出条件で問題が発生し、正常に操作ができません。
- この場合、他の値にデータ型を変えることで問題を回避することができます。具体的には、「#エラー」があるフィールドのデータ型を変更し、文字列型などに変換します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連する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 抽出の条件 ;
- 締切済み
- その他MS Office製品
- ACCESS更新クエリー活用方法について
ACCESSでテーブルから抽出したクエリーで表示された特定の列だけに 1という数字をふりたいのですが、 update 抽出元のテーブル set 任意のセル = 1 where クエリー名 上記方法、更新クエリーで上記SQLを設定しても、クエリー実行時に、 バラメータを要求され、結果 全てのテーブル列に1がふられます。 式が違うのでしょうか。あくまでもクエリーで抽出されたものだけに 1をふりたいのですが。 デザインビューにしてSQLビューに切るかえる。 select 列 from 抽出元のテーブル where 抽出の条件 ; みたいなデータです。 where の前を書き換えます。 select 列 from 抽出元のテーブル の部分を update 抽出元のテーブル set 任意のセル = 1 としてください。 最終的には以下のイメージ update 抽出元のテーブル set 任意のセル = 1 where 抽出の条件 ;
- ベストアンサー
- その他MS Office製品
- Accessクエリでの並べ替えについて
Accessクエリでの並べ替えについて Accessのクエリで並べ替えを行う場合、デザインビューで行うほかに、結果であるデータシートビュー でも並べ替えを行うことができますが、この2つの違い(使い分け)を教えてください。 データシートはクエリの表示のみで、作成したフォームやレポートには反映しないと思っていたの ですが、並べ替え後にクエリを保存すると、クエリプロパティに並べ替えの条件が保存されるため、 その後作成したフォームやレポートに反映されました。 デザイン側で行うのと、データシート側で行うものの使い分けはどのようになるのでしょうか??
- ベストアンサー
- オフィス系ソフト
- ACCESSパススルークエリでオラクルDB接続
パススルークエリを用いてオラクルDBの「売上明細」テーブルのデータを抽出する。 抽出の対象はLOCALのテーブル「対象年月」で指定した月のデータに絞る。 上記の抽出をする場合、選択クエリのSQLでは Select * From 売上明細 Where Exists (Select * From 対象年月 Where 売上明細.YM=対象年月.YM); で抽出出来るのですが、パススルーだと#942「表またはビューが存在しません。」 のエラーが出ます。 年月の条件を付けずにすべてのデータを抽出することは出来るのですが 構文教えていただけるとありがたいのですが
- ベストアンサー
- Access(アクセス)
- アクセス 数値+日付を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; これでもダメでした・・・
- ベストアンサー
- その他MS Office製品
- 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で更新しているのに、なぜ並び替えがされないのでしょうか?
- ベストアンサー
- その他MS Office製品
お礼
いえいえ。とんでもないです。 色々調べてくださって感謝しています。 Replace関数とクエリの組み合わせが原因のようですね。 提示のSQL文、大変参考になりました。 有難うございました。