• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックボックスを利用してフォームを開く)

チェックボックスを利用してフォームを開く

このQ&Aのポイント
  • チェックボックスを利用してフォームを開く
  • チェックボックスにチェックを入れると一連のデータが新しいフォームに移る様に記載しましたが、全く受け付けません。
  • フォーム上のチェックボックスを選択することで、データを別のフォームに移動することができません。何が問題なのかわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

こちらでいいのですか。 前のスレッドのNo2で、 (1)と(2)をまとめて言えば、(Me.Refreshも含めて) >CurrentDb.Execute "UPDATE 申請履歴Q SET 選択 = False;" >Me.Refresh これを実行すると「申請履歴Q」の基になるテーブルの 「選択」というフィールドがすべて「False」になります。 というのは、 Private Sub 選択_Click() を実行すると、チェックを入れたチェックボックスも含めて チェックボックスががすべて「False」になり、チェックボックス にチェックを入れた意味が無くなるのでは? もし、チェックを入れたチェックボックスで指定している番号を 見て、フォームに該当するデータを表示しようとしているならば >CurrentDb.Execute "UPDATE 申請履歴Q SET 選択 = False;" を、このタイミングで実行するのは意味がないのでは?という ことを言いたかったのですが・・・・勘違いしていますかね? そこで、「False」にするのは選択を解除するということになると 思いますから、ボタンの名前を「選択解除」として、 Private Sub 選択解除_Click() If Me!選択 Then CurrentDb.Execute "UPDATE テーブル名 SET 選択 = False;" Me.Refresh End If End Sub したがって、このボタンは選択解除専用ボタンということになります。 そして、チェックを入れたデータだけ表示したいのであれば、 Private Sub 編集_Click() Dim strFil As String strFil = "[選択]=" & True DoCmd.OpenForm "編集F", , , strFil DoCmd.Close acForm, "メインフォーム名 End Sub とすれば、どうですか? 要するに、「編集F」にフィルタをかけて開こう、ということです。

chi_ko6262
質問者

お礼

毎度毎度、適切なご回答ありがとうございます。私も一生懸命努力してあなたの様に なれたら良いなと思います。現状は本の山でうずこまってますが(TT) 再度、ありがとうございました。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

No2で、単に選択解除ですから、 If 選択 = False Then End If はいらないので、 Private Sub 選択解除_Click() CurrentDb.Execute "UPDATE テーブル名 SET 選択 = False;" Me.Refresh End Sub だけで、いいのではと思いますが。

noname#206655
noname#206655
回答No.1

データベースを何処で開くか? が分からないためだと思います。 一格上の場所で開くか、groval で開くか、また一度開くと最終行まで行ってしまうので、開いて、SEEKして、をやります。 外してたら他のユーザーを参照ください。

関連するQ&A

専門家に質問してみよう