• 締切済み

Access95→Access2003にしたら不具合が・・・

Access95→Access2003にバージョンアップしました。 所々修正はしましたが、わからない点があります。 約5000件のデータがあります。検索条件に一致するデータだけを印刷しますが、例えば「五十音順」にすると 途中までが五十音順で その後はランダム(あ・い・う・え・お・か・き・お・く等)になります。 3回位繰り返しますと、正確に「五十音順」になりました。 1回で、ソートしたいのですが どうしたら良いかアドバイスをお願いします。 WkSql=INSERT INTO 印刷作業用テーブル SELECT * FROM 会員情報テーブル WHERE リスト表示=FASE AND (IIF(会員種別=NULL,'',会員種別) BETWEEN '01' AND '01')AND (退会フラグ=false) ORDER BY フリガナ '作業用テーブル作成 =============================================>> Set データベース = CurrentDb Set SQLステートメント = データベース.CreateQueryDef("") 'まず、作業テーブルをDELETEする。 SQLステートメント.SQL = "DELETE FROM 印刷作業用テーブル;" SQLステートメント.Execute dbFailOnError 'ERROR時、Rollbackする指定。 '続けて、データ抽出&作業テーブル作成。 SQLステートメント.SQL = WkSql & ";" '末尾にセミコロンを付ける。 SQLステートメント.Execute dbFailOnError 'ERROR時、Rollbackする指定。 Set データベース = Nothing 作業用テーブル作成 = 0

  • chau
  • お礼率40% (30/75)

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

質問を勘違いしているかもしれません。その場合はご容赦を。 たとえ順番にテーブルにInsert Into しても テーブルを開いたときにその順番で並んでいる保証はありません。 クエリなどで順番を指定する必要があります。 MDB のレコードの並び順について http://support.microsoft.com/kb/834927/ja テーブルデータの並び順 http://www.naboki.net/access/achell/achell_03.html

回答No.1

違うとは思うんだけど・・・・ http://support.microsoft.com/kb/291224

関連するQ&A

  • Accsess2003にて2回目のデータ表示がおかしい

    助けてください!! テーブルに会員データ以外に支部テーブル、部会テーブルがあります。 部会テーブルには、支部コード,部会コード,部会名があります。 会員テーブルには、支部コード,部会コードはありますが、それぞれの名称はありません。画面表示には、各名称を表示するようにしています。 1回目の読込は、通常に表示しますが、2回目に別会員を読み込むとき どうしても1回目の支部コードの部会コードを読込んでしまいます。 例えば各テーブルが下記の時、1回目支部テーブル01 部会テーブル01 の場合 「ははは」を表示します。 2回目 支部テーブル02 部会テーブル02 の場合 「ひひひ」を表示します。正解は「みみみ」です。     支部テーブル 01 あああ 02 いいい     部会テーブル 01 01 ははは 01 02 ひひひ            02 01 ままま 02 02 みみみ  簡単なプログラムですが悩んでいます。是非是非、アドバイスお願い致しますm(__)m        Public Function 会員データ読み込み(会員番号 As String) As Integer Dim データベース As Database, レコード As Recordset Dim SQLステートメント 会員データ読み込み = 0 'return値設定。 SQLステートメント = "select * from 会員情報テーブル where 会員番号='" & 会員番号 & "'" Set データベース = CurrentDb Set レコード = データベース.OpenRecordset(SQLステートメント) If レコード.EOF = True Then '指定されたコードがない。 : End If With レコード Me!会員名 = !会員名 Me!フリガナ = !フリガナ Me!事業所名 = !事業所名 Me!業種1 = !業種1 Me!支部 = !支部 Me!部会 = !部会 Me!隠し支部 = Me!支部.Column(1) Me!隠し部会 = Me!部会.Column(2) Me!会員種別 = !会員種別 : 中略 退会FLG = !退会フラグ SQLステートメント = "select 部会テーブル.支部コード, 部会テーブル.部会コード, * FROM 部会テーブル WHERE (((部会テーブル.支部コード)='" & Me!支部 & "') AND ((部会テーブル.部会コード)='" & Me!部会 & "'));" Me!隠し部会 = Me!部会.Column(2) End With レコード.Close データベース.Close Set データベース = Nothing End Function

  • クエリ上でフィールド名が2つあるときの見分け方

    初心者です。 テーブルを複数使って、クエリを作っているのですが、 『&』でフィールドをつなごうとしたとき、 「指定されたフィールド'[会員種別ID]'がSQLステートメントのFROM句にある複数のテーブルを参照しました」 と言うエラーが出てきます。 多分これは、T_顧客リストとT_会員種別の両方に[会員種別ID]があるので区別がつかないと言う事だと思います。 (間違っていたら正しい意味を教えていただけますか?) だから、どうしたら区別できるのでしょうか?

  • dbFailOnError とは?

    DAOでExecute の後につける dbFailOnError について教えて下さい。 調べたところ、これをつけておくと sqlが失敗した時にロールバックがかかるとのことでした。 となると、今成功した時はcommit  失敗した時はrollbackと指定しているのですが、 失敗した時にrollbackという記述は 書かなくてもいいのでしょうか? On Error ステートメントで エラー時にrollbackするようにしています。 どなたか詳しく教えてくださると助かります。

  • Access での抽出条件方法

    助けてください。 Accessを使用して、会員管理の印刷を行っています。 会員情報テーブルに支部と部会の項目がありますが、支部にはデータ(2桁)が入ってますが、部会にはデータが無い(NULL)状態のとき、下記のSQLでは、NULLデータも抽出してこない状態です。どうしても、NULLデータまでヒットさせたい場合は、どうすれば良いでしょうか? INSERT INTO 印刷用作業テーブル SELECT * FROM 会員情報テーブル WHERE リスト表示=FALSE AND (IIF(支部=NULL,' ',支部)+IIF(部会=NULL,' ',部会) ORDER BY 会員番号

  • SQLのUPDATE文について

    SQL勉強中です。下記の様なデータを書き換えたいのですが、どの様なSQL文になるのでしょうか? ご教授下さいませ。 1つのテーブルに「会員NO」と「会員種別」という列がありまして、 会員氏名   会員No   会員種別 ・・・ --------------------------------- 田中一郎 1-0001 0001    ・・・ 鈴木二郎 2-0003 0001    ・・・ 会員Noの左端の数値が1なら会員種別を0001、2なら0002といった 形に振り分けたいのですが、どの様なSQL文になるのでしょうか? 自力ではなんとも上手くいきませんでした。 どうか、お助け下さいませ。

  • ASP.NET:複数結合テーブルのデータ変更方法について

    ASP.NET:複数結合テーブルのデータ変更方法について こんにちは。 現在Visual Studio2008(ASP.NET、ADO.NET) +SQL Server2005 Stdの環境でデータベースを参照したWebアプリケーションを作成しています。 GridViewを使い、データベースの内容を表示し、修正や追加、削除を行いたいと思っています。 (SQLのUpdate,Insert,Deleteに該当) 主キーが設定された単独のテーブルに対しては、GridView内のデータソースでデータベースを選び、 該当のテーブルを選択。その後「INSERT,UPDATEおよびDELETEステートメントの作成」オプションを選ぶことでこれらの変更方法が簡単に実装できるのを確認しております。 しかし、主キー外部キーの関係を持つ2つ以上のテーブルを結合したものに関してこれらの変更を行う場合は通常どのようにするのでしょうか。 何かヒントになるキーワードや参考になるコードを教えていただけないでしょうか? 単独のテーブルの時と同じく、結合したテーブルデータ(ビューに該当)をGridViewに表示し、そのGridView上で変更を行いたいと思っています。 SQL Server側でこれらのテーブルを結合したViewを作成し、これを選ぶことでGridViewに表示する事が可能なのは確認したのですが、やはり「INSERT,UPDATEおよびDELETEステートメントの作成」オプションは選択できませんでした。 以上よろしくお願いいたします。

  • アクセス ADO

    Tテーブルと言うファイルは存在するのに、 Set cn = CurrentProject.Connection rs.CursorLocation = adUseClient rs.Open "Tテーブル", cn, adOpenStatic, adLockPessimistic rs.Sort = "順番 ASC" を実行すると 「実行時エラー-2147217900(80040e14) SQLステートメントが正しくありません Delete、Insert、Procedure、SelectまたはUpdateを使用して下さい。」 が発生します。 rs.CursorLocation = adUseClient は問題なく通過する為、 Tテーブルと言うオブジェクトが存在しない為のエラーなのかなと思いましたが Tテーブルは存在します。 http://www.accessclub.jp/bbs2/0128/beginter38279.html を見たのですが 私の場合はクエリではなくテーブルなので パラメーターは関係ないと思っています。

  • accessVBAでのワークスペース

    こんばんわ。 今年の四月から新米SEとして働いているものです。 他の言語の場合どうなるかわかりませんが、accessの場合、トランザクションを開始してSQL文を実行する際、「データベース.Execute SQL文」となると思うのですがDAOやADOで接続する際、最初のほうでワークスペースを定義しますよね。 トランザクションの開始、コミットやロールバックは、「ワークスペース.BeginTrans、ワークスペース.CommitTrans、ワークスペース.RollBack」なのになぜSQLを実行するときだけ「データベース.Execute SQL文」なのでしょうか? 私なりの考えでは、ワークスペースは中間作業領域。中間作業領域でなにかしらのエラーが起きたらロールバック、もし問題なければコミットするのでワークスペース.Commit等というのは理解したのですが、SQL文を実行するのはトランザクション中なのでワークスペースで実行「ワークスペース.Execute SQL文」なのではないのでしょうか? ワークスペースへの理解が誤っているのでしょうか? よろしくお願いします。

  • DELETEの操作で (PostgreSQL)初心者

    テーブルの中に日付(2002/02/02)、社員番号(10)、JOBno(1234)、種別番号(10)作業時間(8.00)の項目順に並んであり、数値が入っています。(カッコの数値は例です) このテーブルの中の2002/02/01から2002/02/15までのデータをDELETEさせたいの ですがまだよくわかってないので教えてください。  あと2002/02/16から2002/02/末日までのもわかればおねがいします。 (末日は28、29、30、31のパターンを別々にだせばよいのですかね?) DELETE FROM テーブル名 WHERE 2002/02/01....?(指定する条件がわかりません)

  • Accessのクエリで会費を計算させたいのですが

    会員テーブルの会員種別をみて会費を割引いた額を求めようとしています。(会費から期間で割引く) ID  会員種別 会員期間  会費  1    A    5   300円  2    B    4   400円  3    C    3   500円  4    D    3   600円  5    A    3   300円 ID1の場合は種別がAなので会費300円で、 300円-300円*5%(5は会員期間) ID2の場合は種別がBなので会費400円で、 400円-400円*4%(4は会員期間) という感じで、種別ごとに固定額があり期間に応じて 割引という計算をさせたいのです。種別は4種類で 今後計算を見直す可能性があります。 EXCELならIF文で書いてしまうところですが、 可能ならばSQLで書かずに式ビルドの記述で 対応したいので、よろしくご教授ください。