• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブルデータの並び替えについて。)

テーブルデータの並び替えについて

このQ&Aのポイント
  • ACCESS2000の環境でテーブルデータの並び替え方法について質問です。
  • 現在、ACCESSのマスターテーブルとマスターコピーの2つのテーブルがあり、サブフォームを使ってマスターコピーのデータを表示しています。
  • しかし、マスターテーブルのフィールドで並び替えをしようとすると構文エラーが発生します。どのように修正すればよいでしょうか。

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

  • ベストアンサー
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.3

調べてみると、どうやらExecuteでは抽出は無理なようです。 http://www.accessclub.jp/sql/05.html >選択クエリは、Excuteメソッドを用いることはできません。アクションクエリのみ、Excuteメソッドで実行が可能です。 同様に、RunSQLも選択クエリは使用できないようなので、 ------------------------------------------------------------ Dim strSQL As String Dim db As Database Dim rs As Recordset Set db = CurrentDb strSQL = "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ Set rs = db.OpenRecordset(strSQL) ------------------------------------------------------------ こうなりますね。 私は基本クエリを作成してQueryDefsを使っちゃうもので^^; No1の回答は失礼いたしました。 >bin-chanさん セミコロンはなくても大丈夫なはずです。

taho1999
質問者

補足

syktさんありがとうございます。 ご提示頂いたコードでもエラー(構文エラー)が出てしまいました。 何がいけないのでしょうか・・・?

その他の回答 (4)

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.5

思いっきり構文エラーと書かれていますね^^;;;; もう本当に失礼の連続、申し訳ないです。

taho1999
質問者

お礼

sykt1217さんいろいろありがとうございます。 自分でもいろいろ調べ、試したのですが駄目でした。 今回は少し妥協して、フォームデザオインビューのプロパティ内にある 並び替えに項目を入れて対応する事にしました。 たぶん諦めず調べていけば、何が悪かったのか もしかすると違う方法等見つかるかもしれませんので これからも気に掛けながら勉強していこうと思います。 ご返事が遅くなりすみませんでした。 GW中も試行錯誤していたもので・・・。 お手数お掛け致しました。 また行き詰った時があれば、宜しくお願い致します。

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.4

>ご提示頂いたコードでもエラー(構文エラー)が出てしまいました。 どこで、何というエラーがでますか? コピペしただけであれば、 >strSQL = "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ ここの時点でコンパイルが通りませんね。 strSQL = "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ" (ダブルクォーテーションで締めてませんでした。) 失礼いたしました。 それともデバッグ時(実行時)にエラーが出ますか?

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

SELECT 種類, サイズ, 商品名 FROM マスターテーブル ORDER BY 種類, サイズ だと動くのですか? 動くなら、テーブルコピー時に何か起きてるということですが、実は元もとおかしいとか。 > SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ ←ここでエラー 文末に;(セミコロン)無くて大丈夫でしたっけ?

taho1999
質問者

補足

bin-chanさんありがとうございます。 もとのSELECT文ではエラーでるため、1度も動いた事はありませんでした。 ネットで色々調べているとセミコロンはなくても大丈夫そうです。(確証はありませんが)

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.1

実行時エラーではないので、SQLのエラーではないと思います。 Executeした結果を格納していないとか・・ありませんか? Dim rs As Recordset set rs = db.Execute "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ"

taho1999
質問者

補足

sykt1217さん いつもありがとうございます。 コピー用のテーブルを開くとデータは入っておりました。 今回ご提示頂いた Dim rs As Recordset set rs = db.Execute "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ" に書き換えても構文エラーとなってしまいました。 なぜなのか未だにわかっておりません。