
こんにちは。ACCESS97で帳票フォームを作成し、詳細にチェックボックス(連結コントロール)とテキストボックスを作成しました。フォームフッタ-に「全てチェック」ボタンをつけ、全てのチェックボックスがチェックされるようにしたいのですが、どのようにすればよいのでしょうか。
Me.チェック.value
とすると、一番上のレコードしか変わりません。全てのチェックボックスを一括で変えるか、配列になっているのならばループで回して変えたいのですが。
Me.チェック(1).value
のように書いても「型が一致しない」とエラーになってしまいます。
書き方が分からないので教えてください。どうか宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
maruru01です。表形式のフォームなので、誤解しているようです。
フォーム上にたくさんのチェックボックス(テキストボックスも)が並んでいるように見えますが、実際にあるのは1つです。
フォームをデザインモードにすればチェックボックスもテキストボックスも1つしかないのがわかると思います。
そして、
Me.チェック.Value
などで変更されるのは、1つのレコード(カレントレコード)だけです。
pooh-tanさんの言う、「全てのチェックボックス」というのは、そのフォームの元になっているテーブルの、「全てのレコードのチェックするフィールド」ということです。
つまり、フォームのチェックボックスにチェックをするのではなく、元のテーブルの値を変更(全部チェック)して、それをフォームに反映させるという動作になります。
実際のコードは以下の通り。
"テーブル名"と"チェックするフィールド名"は、実際の名前を使用して下さい。
Private Sub 全てチェック_Click()
Dim SQL As String 'SQLステートメント
'全てチェックするという更新クエリ文
SQL = "UPDATE テーブル名 SET チェックするフィールド名 = True"
'SQLステートメントの実行
DoCmd.RunSQL SQL
'フォームに反映させる(再クエリ)
Me.Requery
End Sub
ちなみに私はAccess2000しかないので、97では確かめてません。(2000では動作確認しました。)
早速の回答ありがとうございます。上記のとおり、やってみましたが「更新可能なクエリーでなければなりません。」とエラーが出てしまいます。どこか設定を変えなければならないのでしょうか?
No.2
- 回答日時:
再びmaruru01です。
テーブル名とチェックするフィールド名は正しいですか。
テーブル名は、このフォームの元になったテーブルの名前です。
チェックするフィールド名は、そのテーブルにあるフィールドで、フォームのチェックボックスに連結した(コントロールソースに指定された)フィールドの名前です。
後、一応テーブル名とフィールド名に[]を付けた方がいいかも知れません。
例えば、[顧客名簿]というテーブルでフォームを作り、[顧客名簿]テーブルの中の[購入]というYes/No型のフィールドとチェックボックスが連結している(チェックボックスのプロパティの[コントロールソース]が"購入"になっている)とします。
その場合は、SQLステートメントは、
SQL = "UPDATE [顧客名簿] SET [購入] = True"
となります。
確認してみて下さい。
すみません。フィールド名を間違えてました。
最初の[]をつけない状態でうまく行きました。
maruru01さん何度も教えて下さって、どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Access(アクセス) Accessに関する質問です。 クエリーQ出勤 からフォームF出勤を作成 フォームは分割フォームで作 1 2023/05/26 08:57
- Access(アクセス) アクセスで、androidのスマホサイズのフォームは作れますか?テキストとチェックボックスだけのフォ 1 2023/05/31 00:53
- Access(アクセス) マイクロソフト アクセス2021のフォームビュー作成でレイアウトを帳票形式から単票形式にあとから変更 1 2023/03/03 10:56
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access フォーム上でのテキス...
-
ACCESS97の帳票フォームで複数...
-
アクセスのテーブルでコードを...
-
access VBA SQLの記述について
-
INT関数のバグ?
-
ACCESSの時刻の引き算
-
Access 別テーブルにある値を抽...
-
Accessのフォームにテーブルの...
-
アクセス・テーブルの改行につ...
-
アクセスでの、フォームとテー...
-
Access 住所入力支援が機能しま...
-
accessで2つのフィールドを同時...
-
Access ルックアップが反映され...
-
Accessでチェックボックスから...
-
access テーブルの色分けについて
-
ACCESSの複数フィールドの検索
-
アクセスでフォームに入力した...
-
アクセスクエリで英数字のみ半...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス・テーブルの改行につ...
-
Access フォーム上でのテキス...
-
アクセスでの、フォームとテー...
-
アクセス: フォーム上で計算...
-
クエリ上でフィールド名が2つ...
-
Accessで更新履歴情報を保存(...
-
アクセスクエリで英数字のみ半...
-
ACCESSのリストボックスで複数...
-
アクセスに自動入力を入れたい
-
アクセスの追加クエリで教えて...
-
Accessでチェックボックスから...
-
Access フォームで複数テーブル...
-
Access 別テーブルにある値を抽...
-
INT関数のバグ?
-
テーブルとクエリの相関図は表...
-
アクセスのテーブルでコードを...
-
アクセス:SQLでフィールド...
-
ACCESSの時刻の引き算
-
Access2013 クエリ内別フィール...
-
Access ルックアップが反映され...
おすすめ情報