« 井戸はありますか? | トップページ | ビジネス創造フォーラム »

2011年2月 7日 (月)

プログラムに強い人、教えてください。

 うちの事務所の報酬管理システムなんですが、2010年から2011年への更新ができないというバグが出ました。外注して作ったのですが、なぜかそこに連絡が取れない。そこで、アクセスで作られているので、自分で見てみました。
 
 「年度は既に設定されています。」というメッセージボックスが出て、更新が止まるので、そこが問題なのだろうと探してみると、下記のような記述が。そこで、思いきって、赤色表示している下の4行を削除して、ファイルを保存して、年度更新をかけると、見事に年度更新が完了しました。
 
 ただ、このままで良いのでしょうかね。もしかすると、このIFの構文はうっかり2度年度更新しないようにチェックをかける構文なのかもしれず、そして、それが2009年から2010年の時には問題ないけれど、2010から2011年の時には問題が出るようなロジックなのかもしれず。来年以降に問題が出ないなら、この4行を書き戻しておけばよいのですが。
 
'    If MsgBox(intYear & "年 → " & intNextYear & "年へ" & vbCrLf & vbCrLf & "年度更新を実行します。よろしいですか。", vbYesNo Or vbInformation) = vbYes Then

        Set dbs = CurrentDb()
        SQL = "SELECT CURRENT_YEAR "
        SQL = SQL & "FROM T_URIKAKE "
        SQL = SQL & "WHERE CURRENT_YEAR = " & intNextYear
        Set rst = dbs.OpenRecordset(SQL, dbOpenSnapshot)
        If rst.RecordCount > 0 Then
            MsgBox intNextYear & "年度は既に設定されています。"
            Exit Sub
        End If

|

« 井戸はありますか? | トップページ | ビジネス創造フォーラム »

コメント

佐久間様

ご無沙汰しています。
FBINCの時代にお世話になりました。

更新する以前に2011のデータが
T_URIKAKE というテーブルに存在したため警告を発しています。

この後の処理が見えないので良いか悪いかは判断つきませんが。。。。

本来なら、T_URIKAKEのデータをチェックし修正してから更新する必要があったかと思います。

今でもデータに更新日時とがあれば、チェック可能かと思われますが、全体が見えませんので大丈夫とは言いがたいですね。。。

少し前に佐久間さんのページを発見して、たまに拝見してます。頑張ってください!


投稿: 青木 | 2011年2月 7日 (月) 20時28分

青木さん、ありがとうございます。
 わかりました。2011年のデータを入力する前に年度更新をしなければいけなかったということのようですね。
 ここがこのシステムの悩みどころの1つで、1月は頭が正月ですから、1月10日くらいになって、年間の取引をチェックしてから年次更新します。その間に12月の申告会社などの請求書発行が出る場合があるのですよね。
 では、来年は、少し運用に気をつけてみます。しかし、テーブルの構成などもわからなくて、これだけの情報で解明できちゃうのですね、シロウトからみると驚きです。

投稿: 佐久間 | 2011年2月 8日 (火) 09時05分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/181294/50803479

この記事へのトラックバック一覧です: プログラムに強い人、教えてください。:

« 井戸はありますか? | トップページ | ビジネス創造フォーラム »