FC2ブログ

新規入力と修正・削除画面の切替

  オートフォームで生成された画面では新規入力、修正、削除各々可能ですが、新規入力の時に移動ボタンで空のレコードまで移動しないといけないとか、対象のレコードまで移動しないと修正・削除出来ないとか不便な面も多いです。その時にボタン一つで新規入力と修正・削除画面が切り替えられれば便利です。更に修正・削除画面では検索条件を指定して検索できれば使い勝手が増します。

 データを新規入力するにはフォームが開いた時点で空フォームが用意され、次のデータが連続して入力できることが望まれます。この場合にはフォームのプロパティに『データ入力用』というのがあるのでこれを使います。

データ入力用のプロパティ
データ入力用プロパティ

 しかし、デザイン時に固定で指定するのではなく、一つの画面で新規入力←→修正・削除を切り替えるにはボタンで動的に変更できなければなりません。『データ入力用』をコード上で変更するために『DataEntry』というプロパティを使います。

 F_生徒番号のフォームヘッダーに新規入力と履歴検索のトグルボタンを用意し、それをオプショングループにします。すると、各々のトグルボタンにオプション値を持つことが出来、トグルボタンを押した時の更新後処理のイベントでそのオプション値を判断して処理を振り分けることが出来ます。
 オプション値は新規入力のトグルボタンは『1』、履歴検索のトグルボタンは『2』とします。

トグルボタンのオプション値
トグルボタンのオプション値 
 以下にコード例を示しますが、Me.DataEntryにTrue,falseをセットすることにより、データ入力用にするかどうかを切り替えています。『Me』は開いているフォーム自身を指します。尚、修正・削除の時は追加入力は出来ないようにするため『追加の許可』プロパティのAllowAdditionsをfalseにしています。

オプショングループの更新後処理
更新後処理

オプショングループの更新後処理のイベントプロシジャー

Private Sub モード_AfterUpdate()
    If Me!モード = 1 Then       '新規追加
        Me.DataEntry = True
        Me.AllowAdditions = True
    Else                        '履歴検索
        Me.DataEntry = False
        Me.AllowAdditions = False
    End If
End Sub

 上記コードを組み込んだ上で、実際に動かすと下記のような表示になります。

①新規入力ボタンを押した場合
新規入力を押したとき

②履歴検索を押した場合
履歴検索を押したとき
 
更にフォームを開いた時点で新規入力モードにしたい場合は、フォームの開く時のイベントで新規入力ボタンを押したときと同じ処理を記述すればよいのです。

フォームを開く時のイベント
フォームを開くときのイベント

フォームを開く時のイベントプロシジャー
Private Sub Form_Open(Cancel As Integer)
    Me!モード = 1        '新規追加
    Call モード_AfterUpdate
End Sub
 
次回では検索機能の追加について考えてみたいと思います。

関連記事
スポンサーサイト



テーマ : データベース
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
全記事表示リンク

全ての記事を表示する

月別アーカイブ
カテゴリ
お問い合わせ
まずはこちらのフォームより御一報下さい。

名前:
メール:
件名:
本文:

検索フォーム
RSSリンクの表示
アクセスランキング
[ジャンルランキング]
コンピュータ
560位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
80位
アクセスランキングを見る>>
ブログランキング

FC2Blog Ranking