プロが教える店舗&オフィスのセキュリティ対策術

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

(1)入力内容の2度打ち登録
 同じ内容を2度打ちし、正しければレコード追加するという方法
 間違っていれば、登録しないとかエラー表示をする

(2)バッチ処理
 登録レコードを20件ごとの登録とする方法
 あるいは、登録ボタンを押すことで登録とする方法

以上、初心者の質問で申し訳ありませんが、
是非、アドバイスをいただけたら幸いです。

A 回答 (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)についても完成しますが。
    • good
    • 0

コード(プログラム)の意味が分からないと


大変なのですが、(2)バッチ処理 について
いうと、たとえばフォームを帳票形式で作った
として、レコードが20件に達したとき、
メッセージを出して、20件以上入力できない
ようにするには、フォームのレコード移動時
のイベントで以下のように設定します。


Private Sub Form_Current()
If Me.CurrentRecord > 20 Then
MsgBox ("レコードが20件になりました。登録してください。")
End If
End Sub


これで新規レコードに移動するとメッセージが出て
入力できません。これがコードですが。
    • good
    • 0

テキストボックス2つなら更新後処理にチェック処理記述か、


ボタン用意してクリック時にチェック処理を書くではどうですか。

やりたいのは認証形式でしょうか?。2つ目入力の際1つ目入力値をパスワードのように見せない工夫等要るのでは?。また、1つ目はシステム内に固定値として埋め込むとかすると使う側1つだけで良い、2つ入力のやりたいことがイマイチわからないので何とも言えませんが。
    • good
    • 0

>1回目の入力とは別人が2度目を入力するようにすることは


>可能でしょうか?

これは別のPCから入力するということですか?
そうであれば、サーバーにあるファイルに対し
てですか。
あるいは、LANで結ばれているPC同士
が一つのPC上のファイルに対して別々に入力
するということですか。
あるいは、一台のPCで二人の
人物が別々に入力するということですか。


>コード
コードとはプログラム(VBA)のことです。
    • good
    • 0

#1です。


>同じ内容を2度打ちし
2度打ちとは、2度入力するということですか、
あるいは2度クリックするということですか。

このあたりがあいまいなのですが、あとは
コードは提示できますが。

この回答への補足

kamo0424です。
同じ内容を2度打ちするとは、2度入力のことを想定しております。
初心者ですみません。

あと、コードの提示とはなんですか???

補足日時:2010/09/13 23:53
    • good
    • 0

イメージでは



保存したいテーブルと同じ構造のワークテーブルを作ります。

入力した20件のデータはワークテーブルに格納します。

フォームではボタン2つ用意します。1つ目チェックボタン押下でDLOOKUPによる存在チェックをし、OKなら2つ目登録ボタンで実際に書き込むようにする。2段階にできます。

書き込むというのは前述のワークテーブルから本来のテーブルへ追加することです。
    • good
    • 0

>正しければレコード追加する



について、
(1)
比較するデータが別にある。たとえば暗証番号
のようなもので、一致すれば、フォームの
データを登録する。

(2)
たとえば、二つテキストボックスを用意して
両方に同じデータを入力して同じならば
データを登録する。

(3)
(1)、(2)とは別の比較


のどれですか。

この回答への補足

kamo0424です。
(2)を考えています。比較するデータがないものですから。。。

また、1回目の入力とは別人が2度目を入力するようにすることは
可能でしょうか?

補足日時:2010/09/13 23:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!