• ベストアンサー

ACCESSで以下のフォームを作成するにはどうしたらいいでしょうか?

ACCESSで以下のフォームを作成するにはどうしたらいいでしょうか? (1)入力内容の2度打ち登録  同じ内容を2度打ちし、正しければレコード追加するという方法  間違っていれば、登録しないとかエラー表示をする (2)バッチ処理  登録レコードを20件ごとの登録とする方法  あるいは、登録ボタンを押すことで登録とする方法 以上、初心者の質問で申し訳ありませんが、 是非、アドバイスをいただけたら幸いです。

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

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

(2)バッチ処理 については、#6で示したコードと、 以下で完成すると思います。 (1) 追加クエリを作成。以下のSQL文を新規クエリの SQLビューに貼り付け保存。テーブル1から テーブル2に追加します。フォームのレコードソース をテーブル1とします。クエリ名はQ追加としています。 INSERT INTO TdataB SELECT * FROM TdataA; (2) フォームにコマンドボタンを設置。そのクリックイベントで 以下のように設定します。 Private Sub コマンド0_Click() Dim rs As Recordset Set rs = Me.RecordsetClone If rs.RecordCount = 20 Then If MsgBox("データを登録します。よろしいですか?", vbYesNo) = vbYes Then DoCmd.OpenQuery ("Q追加") End If Else MsgBox ("レコードが20件登録されていません") End If End Sub あとは、#4について補足があれば(1)についても完成しますが。

その他の回答 (6)

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

コード(プログラム)の意味が分からないと 大変なのですが、(2)バッチ処理 について いうと、たとえばフォームを帳票形式で作った として、レコードが20件に達したとき、 メッセージを出して、20件以上入力できない ようにするには、フォームのレコード移動時 のイベントで以下のように設定します。 Private Sub Form_Current() If Me.CurrentRecord > 20 Then MsgBox ("レコードが20件になりました。登録してください。") End If End Sub これで新規レコードに移動するとメッセージが出て 入力できません。これがコードですが。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

テキストボックス2つなら更新後処理にチェック処理記述か、 ボタン用意してクリック時にチェック処理を書くではどうですか。 やりたいのは認証形式でしょうか?。2つ目入力の際1つ目入力値をパスワードのように見せない工夫等要るのでは?。また、1つ目はシステム内に固定値として埋め込むとかすると使う側1つだけで良い、2つ入力のやりたいことがイマイチわからないので何とも言えませんが。

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

>1回目の入力とは別人が2度目を入力するようにすることは >可能でしょうか? これは別のPCから入力するということですか? そうであれば、サーバーにあるファイルに対し てですか。 あるいは、LANで結ばれているPC同士 が一つのPC上のファイルに対して別々に入力 するということですか。 あるいは、一台のPCで二人の 人物が別々に入力するということですか。 >コード コードとはプログラム(VBA)のことです。

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

#1です。 >同じ内容を2度打ちし 2度打ちとは、2度入力するということですか、 あるいは2度クリックするということですか。 このあたりがあいまいなのですが、あとは コードは提示できますが。

kamo0424
質問者

補足

kamo0424です。 同じ内容を2度打ちするとは、2度入力のことを想定しております。 初心者ですみません。 あと、コードの提示とはなんですか???

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

イメージでは 保存したいテーブルと同じ構造のワークテーブルを作ります。 入力した20件のデータはワークテーブルに格納します。 フォームではボタン2つ用意します。1つ目チェックボタン押下でDLOOKUPによる存在チェックをし、OKなら2つ目登録ボタンで実際に書き込むようにする。2段階にできます。 書き込むというのは前述のワークテーブルから本来のテーブルへ追加することです。

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

>正しければレコード追加する について、 (1) 比較するデータが別にある。たとえば暗証番号 のようなもので、一致すれば、フォームの データを登録する。 (2) たとえば、二つテキストボックスを用意して 両方に同じデータを入力して同じならば データを登録する。 (3) (1)、(2)とは別の比較 のどれですか。

kamo0424
質問者

補足

kamo0424です。 (2)を考えています。比較するデータがないものですから。。。 また、1回目の入力とは別人が2度目を入力するようにすることは 可能でしょうか?

関連するQ&A