Microsoft Access 掲示板

紙のデータを大量に入力する時について

1 コメント
views
4 フォロー

紙に
日付 伝票番号(規則性なし) 個数
が記載されています
同じ日のものが40ほどあり、一月分まとめていれるのでかなりあります

いまはEXCELで入力していて、入力間違いなどすると上にもどって修正しています
日付はVBAで上の日付が自動入力されるようにしていて、日付が変わるときに上書き入力しています
それをACCESSにインポートしていますが、ややインポート作業が面倒です(インポートを間違って同じデータを追加してしまう危険もあるし)

このような形態の入力はEXCELで入力してからACCESSにインポートするのがよいのでしょうか?
ACCESSのフォームをいじってみましたが、単票ならEXCELよりも入力しやすいけど
連続して入力するような場合には向いていないような気がしました
ACCESSでは上記のような入力のときなにかやり方があるのでしょうか?

おねがいします
作成: 2020/07/04 (土) 15:00:40
通報 ...
1

Accessで入力フォームを作成することをお勧めします。

いろいろ方法はありますが、とりあえず2つの方法を提案しておきます。

案1 帳票フォームまたはデータシートフォームで入力する。

見た目は、エクセルと似たものになります。
日付はVBAでフォームの更新前処理で、既定値を入力値に設定すれば、新規レコードへ移動したときに前に入力した日付が既定値として表示されます。
上書きすれば,次からその値が規定値になります。

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Me.日付テキストボックス.DefaultValue = 日付テキストボックス.Value
End Sub

案2 メイン/サブフォーム形式の入力フォームを使う

非連結のメインフォームに日付入力用のテキストボックスを配置して、
テーブルと連結した帳票フォームをサブフォームとして埋め込みます。

サブフォームコントロールのプロパティを下記のように設定すれば、メインフォームの日付テキストボックスに入力した値がサブフォームに表示され、新規レコードもその日付が規定値となります。

リンク親フィールド 日付テキストボックス名
リンク子フィールド 日付フィールド名

この場合、親フォームで日付を入力するとその日付の入力済みのデータがサブフォームに表示されますので入力済みの日付のデータ修正なども楽になります。

以下、蛇足ですが、Accessはデータベースですので、Excelと同じような発想でテーブルを設計するとたいていうまくいきません。データベースのテーブル設計の原則として「正規化」というものがあります。
テーブル設計をする前に「データベース 正規化」をキーワードにWEB検索して、設計の基本を簡単に理解しておくことをお勧めます。