<環境>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も見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
-
4
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
5
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
-
6
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
7
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
8
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
9
Accessでブレークポイントを設定してないのに一時停止してしまう
その他(データベース)
-
10
Access2010 「演算子がありません」エラー
その他(データベース)
-
11
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
12
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
13
Access2010 Enterで次テキストへ移動
その他(Microsoft Office)
-
14
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
15
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
Accessで日付が変わると番号が...
-
access 自動採番 年が変わる...
-
Access 文字+年ごとの自動採番
-
Accessでのレコード存在チェック
-
access 自動採番 「10-AA-000...
-
条件をつけて日付の古い行を抜...
-
ACCESSでの行番号の自動採番
-
【Access】選択クエリのグルー...
-
Accessで自前の自動採番処理で...
-
【アクセスVBA】テーブルにフィ...
-
access 請求番号の自動採番
-
チケット販売等の日付を持つテ...
-
最新の日付とその金額をクエリ...
-
【SQL】existsでの商演算
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
SELECTで1件のみ取得するには?
-
アクセスでレポートの1印刷内...
-
select insertで複数テーブルか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
access 自動採番 年が変わる...
-
最新の日付とその金額をクエリ...
-
Accessでのレコード存在チェック
-
【アクセスVBA】テーブルにフィ...
-
アクセスで「空き番」の確認
-
vba 直前の操作はキャンセルさ...
-
条件をつけて日付の古い行を抜...
-
質問です。 下記のテーブルとデ...
-
【Access】選択クエリのグルー...
-
[Access]異なるレコード間の文...
-
Access:抽出して、色をつけたい。
-
Access 文字+年ごとの自動採番
-
Accessで日付が変わると番号が...
-
access 自動採番 「10-AA-000...
-
Recordset.FindFirstについて
-
ACCESSでの行番号の自動採番
-
access2003で学籍番号から生徒...
-
【SQL】existsでの商演算
-
サイベースには、オラクルのROW...
おすすめ情報