Access2003で以下のfunctionを組みました。
*************************************
Dim SQL As String
Dim strList As String
SQL = ""
strList = ""
'サブテーブルの削除
SQL = "DELETE * FROM SUB_T"
CurrentProject.Connection.Execute SQL
SQL = "INSERT INTO SUB_T SELECT Master_T.* FROM Master_T WHERE "
With Forms!SEARCH!
'検索条件がnullの場合
If IsNull(.CODE_SRH) Then
SQL = "INSERT INTO SUB_T SELECT Master_T.* FROM Master_T"
End If
'コードの条件
If .CODE_SRH <> "" Then
strList = "Master_T.CODE Like '" & .CODE_SRH & "%'"
End If
End With
SQL = SQL & strList & " ORDER BY (val(CODE))"
CurrentProject.Connection.Execute SQL
*************************************
Master_T テーブルの CODE は テキスト型
内容は以下のとおり
"001","あいうえお",....
"003","さしすせそ",....
"002","かきくけこ",....
"013","GHI",....
"011","ABC",....
検索条件Nullの場合SUB_T テーブルには
"001","あいうえお",....
"002","かきくけこ",....
"003","さしすせそ",....
"011","ABC",....
"013","GHI",....
とインサートされるはずですが、何回か実行すると・・・・
"003","さしすせそ",....
"011","ABC",....
"013","GHI",....
"001","あいうえお",....
"002","かきくけこ",....
こんなだったり
"011","ABC",....
"013","GHI",....
"001","あいうえお",....
"002","かきくけこ",....
"003","さしすせそ",....
このような感じに並びます。
試しに、明示的に"ORDER BY (val(CODE)) ASC"にしても
また降順ではどうかと思い、"ORDER BY (val(CODE)) DESC"にしても
同じ現象が出ます。
コードの条件を入れても同様な現象が出ます。
何が原因なのかさっぱり分かりません。
Accessのどこかを確認すべきか、VBAを見直すべきなのか
ご教授いただきたいです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
もし、プログラムソースの問題でなければですが、Access2003を再起動してみては?必要であれば、Windowsの再起動も!
過去にAccessでツールを作成していて、コードと違った動作をする事象がありました。
「コーディング->動作確認->コーディング・・・」のサイクルを何度か繰り返すと度々起きてました。
ですが、Access若しくはWindowsを再起動することで回復してました。
運用時には”おかしい”といった報告はなかったので、開発時に起きる現象と認識して仲良く付き合って作業を進めていましたよ。
No.1
- 回答日時:
INSERT INTO .. SELECT .. ORDER BY
で挿入時の並び順を指定しても、挿入対象のテーブルからデータを取得する際にORDER BY指定しなくては並び順は不定です。
ADOをお使いのようですが、RECORDSETを取得するところでORDER BY指定がされているか確認して下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
場合によって条件を変えるSQL
-
Accessユニオンクエリーで2つ...
-
[Oracle] UPDATE分の副問い合わ...
-
ACCESS 一つのフィールドに複...
-
PLSQLの識別子エラー
-
sqlで質問です。 Aテーブルは店...
-
ACCESS2000でDCount関数の使い方
-
主キーの変更
-
請求と入金のテーブルの作成の...
-
update文で質問です。 下記の条...
-
片方だけ抽出する方法(SQL)
-
SELECT時の行ロックの必要性に...
-
accessテーブル作成クエリを実...
-
データの二重表示の原因
-
[ BETWEEN ] vs [ >= AND <= ]
-
ACCESS2007 フォーム 「バリア...
-
accessのロック
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
ACCESS 一つのフィールドに複...
-
PLSQLの識別子エラー
-
主キーの変更
-
Accessでフィールドを比較した...
-
SQL 2つのテーブルとSUBSTRING...
-
続.ORACLEのSELECTのソートに...
-
行方向のデータを横に並べる
-
下記のsqlで取得されるレコード...
-
VIEWでテーブルの集計結果...
-
update文で質問です。 下記の条...
-
[Oracle] UPDATE分の副問い合わ...
-
片方だけ抽出する方法(SQL)
-
自分自身への矢印
-
連番のMin, Maxを取得したい
-
Accessユニオンクエリーで2つ...
-
日付の最大値を検索条件にする方法
-
Inner join と Left joinの明...
おすすめ情報