質問投稿時のカテゴリ選択の不具合について

Windows2000/ACCESS2000を使用してます。
いつもお世話になってます。
車検到来年を出す方法で、登録年が空の場合と基準年が空の場合の計算方法は教えて頂いたおかげで上手く出来たのですが、年が変わるごとに自動計算されるようにしたいのですが、そのような設定は出来るのでしょうか?
ちなみに、車検到来年は次のように設定しました。
車検到来年=車検到来年+2000
If IsNull(登録年) Then
  If 車検到来区分 = 1 Then
    車検到来年 = 基準年 + 3
  End If
ElseIf IsNull(基準年) Then
  If 車検到来区分 = 1 Then
    車検到来年 = 登録年 + 3
  End If
End If
実際は区分が4区分あってここでは省略して記述してますが、毎年この計算式の内容を自動更新で計算されるようにしたいのですが、どのようにしたら良いのかアドバイスお願いします。
よろしくお願いします。

A 回答 (11件中1~10件)

こんにちは。


メールで質問のあった件は、メールで回答しました。
今この補足を見たので・・・・

画面に同じようにボタンを作成して実行させてもよいし、完全に自動化したいのなら、MDBの起動時の設定などでも実行できると思います。
例えば、ツールメニューの起動時の設定で先頭に開く画面を設定しているのならば、その画面が開く時のイベントにサンプルのコードを記述すればよいと思います。

お試しください。
    • good
    • 0

すみません。


送信済みにはなっていますが届いてないとのこと、今度は私のヤフーのフリーメールから再送しました。
自分のgooのフリーメールにも送ってみましたが、届きません。ためしにgooからヤフーに送ってみると届くのですが・・・。
先日も同じようにやりとりしたのですが、タイムラグがありました。

お急ぎのところ申し訳ありません。
他のメールアドレスをお持ちでしたらお知らせください。
ヤフーにもmatyapでフリーメールを持っています。
ご迷惑をおかけします。

この回答への補足

すいません。やっぱり届いてないです。

補足日時:2002/06/27 17:38
    • good
    • 0
この回答へのお礼

おはようございます。
サンプル有難うございました。
サンプルが開けないってメールしましたが、無事開けました。
度々、ご迷惑お掛けしました。
で、質問なんですが、フォームにサンプルと同じ様に設定したボタンを設置すれば良いのですよね?
補足が記入できなかったので、お礼の方に書かせていただきました。
宜しくお願いします。

お礼日時:2002/06/28 11:13

今からgooのフリーメールの方にサンプルお送りします。


しばしお待ちください。

この回答への補足

こんにちは。
あの~フリーメールの方にサンプルが届いてないのですが・・・
もし、送信できてたらお手数ですがもう一度送って頂けますでしょうか?
宜しくお願いいます。

補足日時:2002/06/27 16:26
    • good
    • 0

こんにちは。



車検到来年月日の、年の部分だけを更新したいということですね。
それとも、車検到来年月日という項目と車検到来年という2つの項目があるのですか?

現在の日付(PCの日付)が車検到来年月日を過ぎたら次回の車検到来年を自動計算し更新するということでいいですよね。
これが最後の質問だと思います。お許しください。

この回答への補足

こんにちは。度々すいません。
車検到来年年月日みたいに年・月・日が3つともくっついたパターンでは無く、
車検到来年・車検到来月・車検到来日に分かれてるので車検到来年だけが更新されれば良いです。
これまた説明不足ですいませんでした。

>現在の日付(PCの日付)が車検到来年月日を過ぎたら次回の車検到来年を自動計算し更新するということでいいですよね。
>>それで良いです。

お手数かけますが宜しくお願いします。

補足日時:2002/06/27 14:30
    • good
    • 0

こんにちは。


サンプルが届いていないとのこと。失礼しました。昨日確かに送ったのですが・・・手違いがあったようですね。
すみません。
下記の質問にお答えいただければ、作り直して送付します。

・保有車両テーブルには車検到来年月日という項目も存在する?
・車検到来年月日を過ぎた時点で・・・というのは、車検到来年月日と現在日付でわかる?
・車検到来年月日と車検到来年の2つの項目を更新したい?
・車検到来年に値が入っていない場合は、どうすればいい?

毎度の質問攻めでご迷惑であれば、無視していただいてもいいですよ。ごめんなさい。

この回答への補足

こんにちは。度々すいません。
・保有車両テーブルには車検到来年月日という項目も存在する?
>存在します。

・車検到来年月日を過ぎた時点で・・・というのは、車検到来年月日と現在日付でわかる?
>フォーム上で分かるかって事ですか?
初年度登録もしくわ登録年・基準年は必ず入力しないといけないので分かると思います。現在の日付ってデーターベースで現在の日付を設定してるかとの事ですか?

・車検到来年月日と車検到来年の2つの項目を更新したい?
>車検到来年だけで良いです。月日は登録年の月日や基準年の月日が変わらない限り変える必要無いので。

・車検到来年に値が入っていない場合は、どうすればいい?
>新車の登録の時は保有車両のフォームがまだ入力されてない状態だから、その場合は最初の車検年が計算されて、2回目以降が自動計算で更新すれば良いです。
(そんなこと出来るのでしょうか?)

大変ご迷惑を掛けますが、宜しくお願い致します。

補足日時:2002/06/27 13:04
    • good
    • 0

フリーメールにタイムラグがあるようですが、送ったものは届いていますでしょうか?



補足等をよくよく読むと、私の作ったサンプルは意味がないようですね。
すみませんでした。

・質問に記述しているコードはどういうタイミングで実行されるものか
・年がかわるごとに自動計算したいのはどの項目か
・システムの概要とどのタイミングで何ができなくて困っているのか
等差し支えない範囲で教えてください。

この回答への補足

おはようございます。朝早くからすいません。
フリーメールは届いてないですよ。

・質問に記述しているコードはどういうタイミングで実行されるものか
>車検到来年の事でしょうか?
保有車両というデーターベース(車検到来年や登録年月日がある)があって、新車を
登録した際に登録年月日を入力すると初回車検年と3年後の車検到来年月日が表示されます。
蓄積されてるデーター(新車の登録年月日)は3年後を経った時点で次の車検到来年
(2回目以降は2年なので2年後)が自動で計算されて更新されてる状態にしたい。
例えば、2000年10月6日登録だと、初回車検は3年後だから車検到来年月日
は、2003年10月5日になります。
2003年10月5日が過ぎた時点で次の車検年月日の2005年10月5日が
車検到来年が表示するようにしたいのです。

・年がかわるごとに自動計算したいのはどの項目か
>車検到来年です。

・システムの概要とどのタイミングで何ができなくて困っているのか
>初回車検年月日は、皆さんに教えて頂いたとうりに設定したら出来ましたが、次の
車検到来年年月日が自動に計算され更新されないことに気がついたのです・・・。

説明が分かりにくくてすいませんでした。
ご迷惑お掛けしますが、宜しくお願いします。

補足日時:2002/06/27 09:52
    • good
    • 0

gooのフリーメールのほうにサンプルを添付して送付してもよろしいでしょうか?

この回答への補足

こんにちは。
もう、出来たのですか?すごいですね!
フリーメールの方に送って頂いて良いですよ。
というか、宜しくお願いします。

補足日時:2002/06/26 15:25
    • good
    • 0

初期設定というのは間違えだったでしょうか・・。

「基本的に・」ととっていただければ。
質問の中に下記があったものですから
>ちなみに、車検到来年は次のように設定しました。
>車検到来年=車検到来年+2000
>If IsNull(登録年) Then
>  If 車検到来区分 = 1 Then
>    車検到来年 = 基準年 + 3
>  End If
>ElseIf IsNull(基準年) Then
>  If 車検到来区分 = 1 Then
>    車検到来年 = 登録年 + 3
>  End If
>End If
車検到来年は基本的にNullの状態ではないと考えたのですが。

車検到来年の算出する記述を走らせた後にSelectでCase毎に計算させれば良いと思います。
もし車検到来年が現状で合っていなければ基準年を計算後、
If 車検到来年 < Format$(Date(),"yyyy") の条件をクリアするまでLoopさせる様にすれば良いと思います。

この回答への補足

度々、すいません。
車検到来年ですが、既に入ってるのもあれば、新車の場合は新規で登録年などを入力するので入って無いです。
説明不足ですいません。

>車検到来年の算出する記述を走らせた後にSelectでCase毎に計算させれば良いと思います。
もし車検到来年が現状で合っていなければ基準年を計算後、
If 車検到来年 < Format$(Date(),"yyyy") の条件をクリアするまでLoopさせる様にすれば良いと思います。

>>大変申し訳ないのですが、どのようにしたら良いのか分かりませんので、お手数かけますが設定方法を記述して頂けたらと思います。
宜しくお願いします。

補足日時:2002/06/26 15:34
    • good
    • 0

こんにちは。


先ほどは質問攻めにしてすみませんでした。
No2の方の回答で、計算は可能ですね。

あとはこれをどう実現するかですが、
作成されているシステムで、最初に必ず開く画面(メニュー画面など)があれば、その画面が開く時のイベントプロシージャで実行することもできるでしょう
・車検到来年をNo2の方のやり方で実行する(テーブルを開いて、更新したり・・・コードを書かなければなりませんね)
・更新する内容は同じで、更新クエリーに実行させる(コードを記述する知識をあまり必要としません)

実現方法(コードの組み方がわからない、どんな更新クエリーにすればいいの?)でお困りであれば、サンプルを作ってみてもいいのでお知らせください。

この回答への補足

こんにちは。度々アドバイス有難うございます。

>実現方法(コードの組み方がわからない、どんな更新クエリーにすればいいの?)でお困りであれば、サンプルを作ってみてもいいのでお知らせください。

>>もし宜しければ、サンプルを作っていただけるとすごく助かります。
コードの組み方もごちゃごちゃになってるので・・・
お手数かけますが宜しくお願いします。

補足日時:2002/06/26 13:37
    • good
    • 0

おはようございます。


初期設定で車検到来日にレコードが入っている状態なら

If 車検到来年 < Format$(Date(),"yyyy")  '西暦の場合
  Select Case 車検到来区分
   Case 1
 車検到来年 = 車検到来年 + 2
   Case 2
 車検到来年 = 車検到来年 + 1
   Case 3
 車検到来年 = 車検到来年 + 2
   Case 4
 車検到来年 = 車検到来年 + 2
End Select

こういう感じでいいのではないでしょうか。

この回答への補足

こんにちは、O_cyanさん。いつも大変お世話になってます。
初期設定で車検到来日にレコードが入ってる状態とは?
車検到来区分でSelect Case 設定されてますが、登録年が空の場合で区分によって
計算方法が違う場合と、基準年が空の場合で区分によって計算方法が違う場合の2パターンの場合は、
If 車検到来年 < Format$(Date(),"yyyy")
If IsNull(登録年)Then
Select Case 車検到来区分
   Case 1
 車検到来年 = 車検到来年 + 2
   Case 2
 車検到来年 = 車検到来年 + 1
   Case 3
 車検到来年 = 車検到来年 + 2
   Case 4
 車検到来年 = 車検到来年 + 2
End Select

If IsNull(基準年)Then
Select Case 車検到来区分
   Case 1
 車検到来年 = 車検到来年 + 2
   Case 2
 車検到来年 = 車検到来年 + 1
   Case 3
 車検到来年 = 車検到来年 + 2
   Case 4
 車検到来年 = 車検到来年 + 2
End Select
このような感じになるのでしょうか?
再度アドバイス頂けたらと思います。宜しくお願いします。

  

補足日時:2002/06/26 11:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報