hatena
hatena
2020/07/04 (土) 15:24:38
Accessで入力フォームを作成することをお勧めします。
いろいろ方法はありますが、とりあえず2つの方法を提案しておきます。
案1 帳票フォームまたはデータシートフォームで入力する。
見た目は、エクセルと似たものになります。
日付はVBAでフォームの更新前処理で、既定値を入力値に設定すれば、新規レコードへ移動したときに前に入力した日付が既定値として表示されます。
上書きすれば,次からその値が規定値になります。
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.日付テキストボックス.DefaultValue = 日付テキストボックス.Value
End Sub
案2 メイン/サブフォーム形式の入力フォームを使う
非連結のメインフォームに日付入力用のテキストボックスを配置して、
テーブルと連結した帳票フォームをサブフォームとして埋め込みます。
サブフォームコントロールのプロパティを下記のように設定すれば、メインフォームの日付テキストボックスに入力した値がサブフォームに表示され、新規レコードもその日付が規定値となります。
リンク親フィールド 日付テキストボックス名
リンク子フィールド 日付フィールド名
この場合、親フォームで日付を入力するとその日付の入力済みのデータがサブフォームに表示されますので入力済みの日付のデータ修正なども楽になります。
以下、蛇足ですが、Accessはデータベースですので、Excelと同じような発想でテーブルを設計するとたいていうまくいきません。データベースのテーブル設計の原則として「正規化」というものがあります。
テーブル設計をする前に「データベース 正規化」をキーワードにWEB検索して、設計の基本を簡単に理解しておくことをお勧めます。
通報 ...