dポイントプレゼントキャンペーン実施中!

Access 初心者です。 
初心者ながら必要に迫られデータ入力用システムを作っています。
どのようなものかというと

・作業月日
・作業名
・作業行った社員名
・件数

これらの事項をフォームで入力していきます。今、なんとかフォームの完成まで行き着きました。
ただ、1日に作業員1名が行う作業は1つではないので、今のフォームのままでは、入力のたびに重複する作業月日、作業者名を入力しなければなりません。
以前別の会社だったとき同僚が作ったシステムでは、最初に日付、氏名を1度入力し、あとは作業名や件数のみを入力するというものでした。(説明が上手くできませんが…)
今となっては転職してしまったので、そのシステムの中身をみることができません。
この以前のシステムのように最初に日付、氏名を入力するという方法にはこだわりません。
初心者にでも分かるように教えていただけないでしょうか。

A 回答 (4件)

たぶん最後に入力されたものを規定値にセットしているんだと思いますね



Aさんの分を続けて5件入力、つぎにBさんの分を3件入力
なんて入力の仕方が出来て便利な方法ですが
これをやるにはVBAの知識が必要です

初心者にお勧めなのは
2つ目の入力時、上のフィールドに表示されているものと同じものを入力したければ
Ctrl+'を押すという方法です
これでもずいぶん省力できますよ

もうひとつはカーソルのある行をそっくりそのまま
新規レコードにコピーしてしまうボタンを作成する方法です
このボタンはVBAの知識がなくてもウィザードが作ってくれます

興味がおありならどれでやりたいかを返事してください
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ExcelでのVBAの知識は少しだけならあります。(初級者レベルですが)

>Aさんの分を続けて5件入力、つぎにBさんの分を3件入力
なんて入力の仕方が出来て便利な方法ですが
これをやるにはVBAの知識が必要です

↑↑
できればこれでやりたいのですが、無理でしょうか…

お礼日時:2007/05/27 20:36

私は以下の方法をよく使います。



そのフォームにフォームのコントロールをクリアするプロシージャを作っておきます。
例:
Private Sub subClearForm(Optional paraMode As String = "")
If paraMode = "ALL" then
Me.txt作業日 = Null
Me.txt作業者 = Null
End If
Me.txt作業名 = Null
Me.txt件数 = Null
End Sub

そして、そのフォームの「開く時」イベントプロシージャの頭に
Call subClearForm("ALL")
と入れ、

登録ボタンの「クリック時」イベントプロシージャの最後に
Call subClearForm("")
と入れておけば、
フォームを開いた時は、全ての入力用コントロールがクリアされており、
登録したのちは、作業名と作業件数のみクリアされます。

勿論、フォームの「閉じる」ボタンは別に作っておきます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
いろいろな方法があるんですね。 今回は別の方の案で解決しましたが、次回参考とさせていただきます。

お礼日時:2007/05/29 00:13

>ExcelでのVBAの知識は少しだけならあります。

(初級者レベルですが)
エディタの使い方を知っておられるのなら出来ますよ

同じデータを続けて入れたいフィールドの更新後イベントに

'日付時刻型
Private Sub 売上日_AfterUpdate()
Me.売上日.DefaultValue = "#" & Me.売上日 & "#"
End Sub

'テキスト型
Private Sub 発送NO_AfterUpdate()
Me.発送NO.DefaultValue = "'" & Me.発送NO & "'"
End Sub

'数値型
Private Sub 品名コード_AfterUpdate()
Me.品名コード.DefaultValue = Me.品名コード
End Sub

表示されている規定値は別のものに書き換えることができます
    • good
    • 0
この回答へのお礼

さっそくやってみました。
おかげで私のやりたかったイメージどおりです。
ありがとうございます。

お礼日時:2007/05/29 00:11

普通はサブフォームを利用します。


http://office.microsoft.com/ja-jp/access/HA10098 …
サブフォームを利用するためには通常、メインテーブルとして日付と氏名の入ったテーブル、サブテーブル(詳細テーブル)として日付、氏名、作業名、件数の入ったテーブルを作成し、リレーションを組みます。このあたりはリレーショナルデータベースの基本的な使い方なので、Accessを使うなら勉強しておいたほうがいいと思います。

その後の計算等がどう絡んでくるのかが不明ですが、特に複雑な集計をすることがなく、一日に行う作業数に限りがあるのなら、最大数分だけ各項目を作れば簡単でしょう。

参考URL:http://office.microsoft.com/ja-jp/access/HA01224 …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
まだまだ勉強不足です、紹介していただいたサイトも十分理解するのに時間がかかりそうです。 

お礼日時:2007/05/27 19:50

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