Access実践入門  RSSを登録する

マイクロソフトアクセスの入門を、実践的に学習するためのメールマガジンです。誰でも入力できる綺麗なプログラムが作成できるようになります。

最新号をメルマガでお届けします    
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。
2009/03/11

Access 実践入門 第80号

-------------------------------------------
  Access 実践入門 第80号 (2009.3.11)
-------------------------------------------

 こんにちは、Access実践入門の佐藤です。

3月は年度の最後の月ですから、
決算やら、予算やらで、事務の仕事はお忙しいでしょう。
頑張ってくださいね



 【1】締切更新処理1
 【2】締切更新処理2
 【3】次回予告
 【4】編集後記

---------------------------------------------------------------------



【1】締切更新処理1
---------------------------------------------------------------------
締切更新処理は、残高を更新して、指定日以前のデータを削除する処理です

請求書発行のプログラムなどでは、データ数が多くなると、
処理が遅くなりますから、更新処理でデータを少なくする必要があります。

小遣帳では、データ数などは気にしなくてもいいのですが、
更新処理の内容を説明するために作成しています。


フォーム「fo締切更新指定」をみてください。

入力用の、コントロールと、
日付型のデータを入れるコントロール
があります。


日付入力のコントロール「締切日指定」の「フォーカス喪失時」
の次のように書いています。



If IsNull([締切日指定]) Then
  Exit Sub
End If
 
  If Len([締切日指定]) <> 11 Then
     MsgBox "年は4桁、月は2桁、日は2桁の入力です。", , ""
     DoCmd.CancelEvent
     Exit Sub
  End If

  If IsDate([締切日指定]) = 0 Then
     MsgBox "この日付の入力は間違っています。", , ""
     DoCmd.CancelEvent
     Exit Sub
  End If
  
  If DateValue([締切日指定]) <= DLookup("[締切日付]", "ta基本情報",
 "[通し番号]=1") Then
       MsgBox "締切日より以前は指定できません。"
       DoCmd.CancelEvent
       DoCmd.GoToControl "締切日指定"
       Exit Sub
  End If
  
  
  [締切日付指定] = DateValue([締切日指定])


空白の場合は、何もしません。
でないと、フォームを開いて、何もしないで戻ろうとする時に
戻れなくなります。


データが何か入力された場合に次のチェック等をします

まず、桁数をチェックします。
西暦4桁+年+月2桁+月+日2桁+日の全部埋まれば、
11桁になります。


次に正しい年月日が入力されたかどうかチェックします。
これは、IsDate関数で調べます。

次に、現在の締切更新日より以前の場合は、
指定できないようにしています。

チェックが終わったら、
締切日付指定に、入力した日付を日付型にしてして、代入しておきます




【2】締切更新処理2
---------------------------------------------------------------------
実行ボタンの「フォーカス取得時」に
次のように書いています

  If IsNull([締切日指定]) Then
       MsgBox "日付を入力して下さい。"
       DoCmd.CancelEvent
       DoCmd.GoToControl "締切日指定"
       Exit Sub
  End If
  
  [締切日付指定] = DateValue([締切日指定])

日付が、入力されていなければ、
指定コントロールに戻します。

念のため、ここでも
締切日付指定に、入力した日付を日付型にしてして、代入しておきます
(必要ないのですが・・・)


実行ボタンの「クリック時」で、

モジュールの kousin を呼び出しています


モジュールの内容です。


------------------------------------------------------------
Public Function kousin()

Dim dbs As Database
Dim rst_1 As Recordset

Dim cd As String
Dim simeb As Date, simea As Date
Dim zan As Long
  
DoCmd.OpenForm "fo基本情報", , , , , acHidden

simeb = Forms![fo基本情報]![締切日付]
zan = Forms![fo基本情報]![締切残高]

simea = Forms![fo締切更新指定]![締切日付指定]

  Set dbs = CurrentDb
  Set rst_1 = dbs.OpenRecordset("ta帳簿", dbOpenDynaset)

  rst_1.MoveFirst

     Do Until rst_1.EOF
        
        If rst_1!処理日付 > simeb And rst_1!処理日付 < simea Then
           zan = zan + rst_1!収入額 - rst_1!費用額
        End If
     
     rst_1.MoveNext
         
     Loop
     
     
   DoCmd.OpenQuery "qu更新後帳簿削除"
   

   Forms![fo基本情報]![締切日] = Forms![fo締切更新指定]![締切日指定]
   Forms![fo基本情報]![締切日付] = Forms![fo締切更新指定]![締切日付指定]
   Forms![fo基本情報]![締切残高] = zan
   
   rst_1.Close

   DoCmd.Close acForm, "fo基本情報"
   DoCmd.Close acForm, "fo締切更新指定"
   
   MsgBox ("更新しました...")


End Function
------------------------------------------------------------

フォーム「fo基本情報」を非表示で開いています。

フォームを参照して、

現在の締切日付、締切残高を変数に入れます。
今回指定した、締切日付も変数に入れます

「ta帳簿」を1レコードずつ読んでいきます。

指定した日付より前で、かつ、締切日より後なら
残高に金額を収入ならプラス、費用ならマイナスします

最後のレコードまで終わったら、

削除クエリ「qu更新後帳簿削除」で
今回の指定日より以前のデータを削除します。

基本情報のそれぞれの値を今回の指定したものに
更新します。

すべて閉じます。

メッセージを表示して、終わったことを知らせます

以上で締切更新処理が終わりました



【3】次回予告
---------------------------------------------------------------------

 次回は、バージョン2のまとめ です。



【4】編集後記
---------------------------------------------------------------------
最近の事務の仕事といえば、
パソコンを操作して、いろいろするのが当たり前ですね。

昔は、補助元帳や元帳も、手書きでしたからね〜
今考えれば、信じられないくらいの作業です

今は、銀行に行くことすら、無くなりました。
支払なども、インターネットや、通信でできますから。

しかし、月末の銀行の人の多いこと。
私が、お金をキャッシュコーナーで引き出そうと並んでいると、
振込をしている人が、長い時間かけて、いろいろされています。
早くしてくれ〜

最近、ネット銀行に口座を作ったのですが、
振込は便利ですね!
夜中でもパソコンを操作して、振り込めます!

でも、ネット銀行にたくさんお金を入れておくのは
何か、怖いような気がしてます
いつの間にか、無くなってたりして・・・
(そんなことは無いのでしょうけど)



---------------------------------------------------------------------
最近は、パソコンで映画を観ることもできますが、

動画のパソコン講座も、あるんですよ。


マウスが動いて、画面が変わって、

音声での解説を聞きながら、その動きを見て、

ソフトの勉強ができるようになっています。

初めてのソフトの勉強には、いいかもしれません。



興味のある方は、こちらをご覧下さい。

動画講座のご案内 : http://www.msactry.com/douga/






=====================================================================
【Access実践入門】

ホームページ : http://www.msactry.com/
メルマガ用サンプルプログラム
       : http://www.msactry.com/mag2/201/index.htm
参考書「Access実践入門」のダウンロード(PDFファイル)
       : http://www.msactry.com/down00/downrepo.htm

=====================================================================
【動画講座のご案内】
http://www.msactry.com/douga/

【その他オフィス関連の教材紹介】
http://www.msactry.com/kyex/

=====================================================================
【発行システム】『まぐまぐ!』 http://www.mag2.com/ 

 配信中止はこちらから http://www.mag2.com/m/0000229312.html 
===================================================================== 
最新号をメルマガでお届け
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。

最近の記事

上へ戻る