- ベストアンサー
テーブルデータの並び替えについて
- ACCESS2000の環境でテーブルデータの並び替え方法について質問です。
- 現在、ACCESSのマスターテーブルとマスターコピーの2つのテーブルがあり、サブフォームを使ってマスターコピーのデータを表示しています。
- しかし、マスターテーブルのフィールドで並び替えをしようとすると構文エラーが発生します。どのように修正すればよいでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
調べてみると、どうやら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さん セミコロンはなくても大丈夫なはずです。
その他の回答 (4)
- sykt1217
- ベストアンサー率34% (277/798)
思いっきり構文エラーと書かれていますね^^;;;; もう本当に失礼の連続、申し訳ないです。
お礼
sykt1217さんいろいろありがとうございます。 自分でもいろいろ調べ、試したのですが駄目でした。 今回は少し妥協して、フォームデザオインビューのプロパティ内にある 並び替えに項目を入れて対応する事にしました。 たぶん諦めず調べていけば、何が悪かったのか もしかすると違う方法等見つかるかもしれませんので これからも気に掛けながら勉強していこうと思います。 ご返事が遅くなりすみませんでした。 GW中も試行錯誤していたもので・・・。 お手数お掛け致しました。 また行き詰った時があれば、宜しくお願い致します。
- sykt1217
- ベストアンサー率34% (277/798)
>ご提示頂いたコードでもエラー(構文エラー)が出てしまいました。 どこで、何というエラーがでますか? コピペしただけであれば、 >strSQL = "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ ここの時点でコンパイルが通りませんね。 strSQL = "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ" (ダブルクォーテーションで締めてませんでした。) 失礼いたしました。 それともデバッグ時(実行時)にエラーが出ますか?
- bin-chan
- ベストアンサー率33% (1403/4213)
SELECT 種類, サイズ, 商品名 FROM マスターテーブル ORDER BY 種類, サイズ だと動くのですか? 動くなら、テーブルコピー時に何か起きてるということですが、実は元もとおかしいとか。 > SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ ←ここでエラー 文末に;(セミコロン)無くて大丈夫でしたっけ?
補足
bin-chanさんありがとうございます。 もとのSELECT文ではエラーでるため、1度も動いた事はありませんでした。 ネットで色々調べているとセミコロンはなくても大丈夫そうです。(確証はありませんが)
- sykt1217
- ベストアンサー率34% (277/798)
実行時エラーではないので、SQLのエラーではないと思います。 Executeした結果を格納していないとか・・ありませんか? Dim rs As Recordset set rs = db.Execute "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ"
補足
sykt1217さん いつもありがとうございます。 コピー用のテーブルを開くとデータは入っておりました。 今回ご提示頂いた Dim rs As Recordset set rs = db.Execute "SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ" に書き換えても構文エラーとなってしまいました。 なぜなのか未だにわかっておりません。
補足
syktさんありがとうございます。 ご提示頂いたコードでもエラー(構文エラー)が出てしまいました。 何がいけないのでしょうか・・・?