<環境>ACCESS2000
サブフォーム(データシートビュー)の並び替えを、メインフォームのオプショングループの
更新後処理イベントで操作しようと思っています。
コーディングは以下の通りです。
並び替え自体はうまく動作するのですが、メインフォームで閉じるボタンを押すと
「直前の操作はキャンセルされました.」とエラーが出てしまいます。
サブフォームのプロパティを替えることが原因なのでしょうか?
どなたか回避策をお願いします。
<メインフォーム開く時>
Public Function 開くイベント()
DoCmd.OpenForm "Fメイン"
Set FM = Forms![Fメイン]
Set FS = Forms![Fメイン]![SubForm].Form
'テーブル作成
strSQL = "CREATE TABLE AAA ("
strSQL = strSQL & " [選択] [bit] NULL ,"
strSQL = strSQL & " [番号] [varchar] (7) NOT NULL ,"
strSQL = strSQL & " [カナ] [varchar] (20) NULL ,"
strSQL = strSQL & " PRIMARY KEY(番号))"
db.Execute strSQL
'データ作成
strSQL = "INSERT INTO AAA"
strSQL = strSQL & " SELECT"
strSQL = strSQL & " [選択]= 1 ,"
strSQL = strSQL & " [番号]= [番号] ,"
strSQL = strSQL & " [カナ]= [カナ] "
strSQL = strSQL & " FROM BBB"
db.Execute strSQL
FS.RecordSource = "SELECT * FROM AAA ORDER BY 番号"
FM.Refresh
End Function
<オプショングループ更新後処理>
Private Sub GRP_並び順_AfterUpdate()
Select Case Me!GRP_並び順
Case 1
With Me![SubForm].Form
.OrderBy = "番号"
.OrderByOn = True
End With
Case 2
With Me![SubForm].Form
.OrderBy = "カナ"
.OrderByOn = True
End With
End Select
End Sub
No.1
- 回答日時:
最初に直接的な回答から、
メニュー→ツール→オプションの『名前の自動修正』のチェックを外す。
最適化を試す、もしくは新規MDBを作成してすべてインポート。
念のために『名前の自動修正』オプションは無し。
で解決するかもしれません。
ところで、提示されたコードがエラーもなく進むのは不思議です。
'テーブル作成
strSQL = "CREATE TABLE AAA ("
strSQL = strSQL & " [選択] [bit] NULL ,"
strSQL = strSQL & " [番号] [varchar] (7) NOT NULL ,"
strSQL = strSQL & " [カナ] [varchar] (20) NULL ,"
strSQL = strSQL & " PRIMARY KEY(番号))"
db.Execute strSQL
は
'テーブル作成
Dim strSQL as string
strSQL = "CREATE TABLE AAA ("
strSQL = strSQL & " 番号 varchar(7) CONSTRAINT BANGO PRIMARY KEY,"
strSQL = strSQL & " 選択 bit NULL,"
strSQL = strSQL & " カナ varchar(20) NULL)"
Currentdb.Execute strSQL
のような感じでは?
'データ作成 の方も、やりたいことは分かりますが?
テーブル作成処理も無くして、単純にテーブル作成クエリで済ませてはどうですか?
Dim strSQL as string
Dim tdf As DAO.TableDef
'既存テーブル削除
For Each tdf In CurrentDb.TableDefs
If tdf.Name = AAA Then
CurrentDb.Execute ("drop table " & tdf.Name)
End If
Next
strSQL = "SELECT 1 AS 選択, 番号, カナ INTO AAA FROM BBB"
Currentdb.Execute strSQL
のような感じで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) SQLで抽出 4 2022/12/04 13:55
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
-
-
4
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
5
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
6
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
7
csvファイル 項目数取得
Visual Basic(VBA)
-
8
Access2007 textboxに入力できない。
IT・エンジニアリング
-
9
Access2010 Enterで次テキストへ移動
その他(Microsoft Office)
-
10
アクセス 壊れた? 「ファイルが見つかりません」
Access(アクセス)
-
11
Access2010 「演算子がありません」エラー
その他(データベース)
-
12
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
13
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
14
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
15
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
Accessでのレコード存在チェック
-
条件をつけて日付の古い行を抜...
-
【SQL】existsでの商演算
-
アクセスで「空き番」の確認
-
Recordset.FindFirstについて
-
SQL文について
-
Access:抽出して、色をつけたい。
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
-
select insertで複数テーブルか...
-
カレントレコードが無い事を判...
-
Excelでセルの書式設定を使用し...
-
Date型にNULLをセットしたい V...
-
データセットのレコード更新が...
-
select句副問い合わせ 値の個...
-
SQL文で右から1文字だけ削除す...
-
ADO VBA 実行時エラー3021
-
SELECTの結果で同一行を複数回...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
Accessでのレコード存在チェック
-
最新の日付とその金額をクエリ...
-
access 自動採番 年が変わる...
-
[Access]異なるレコード間の文...
-
【アクセスVBA】テーブルにフィ...
-
vba 直前の操作はキャンセルさ...
-
条件をつけて日付の古い行を抜...
-
Accessで日付が変わると番号が...
-
質問です。 下記のテーブルとデ...
-
Recordset.FindFirstについて
-
Access 文字+年ごとの自動採番
-
アクセスで「空き番」の確認
-
Accessの色番号について
-
access2003で学籍番号から生徒...
-
Access:抽出して、色をつけたい。
-
【Access】選択クエリのグルー...
-
access 自動採番 「10-AA-000...
-
電話番号の局番と住所の検索に...
-
sqlで質問です。 Aテーブルの登...
おすすめ情報