こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

access2000"社員管理システム"を利用しています。

access2000"社員管理システム"を利用しています。
社員マスタサブフォームがあり、レコードソースは社員履歴QUE(社員履歴TBL、所属TBL)です。

社員コード
開始日
終了日
社内区分
所属コード
役職名
内線電話番号
呼出詳細
所属名
部署名

を入力していて、以下がコードです。

Sub Form_Load()
On Error GoTo Form_Load_Err

If ParentFormIsOpen() Then Forms![社員マスタFRM]!ToggleLink = True

Form_Load_Exit:
Exit Sub

Form_Load_Err:
MsgBox Error$
Resume Form_Load_Exit

End Sub
Sub Form_Unload(Cancel As Integer)
On Error GoTo Form_Unload_Err

If ParentFormIsOpen() Then Forms![社員マスタFRM]!ToggleLink = False

Form_Unload_Exit:
Exit Sub

Form_Unload_Err:
MsgBox Error$
Resume Form_Unload_Exit

End Sub
Private Function ParentFormIsOpen()

ParentFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, "社員マスタFRM") And acObjStateOpen) <> False

End Function


Private Sub 終了_Click()
On Error GoTo Err_終了_Click


DoCmd.Close

Exit_終了_Click:
Exit Sub

Err_終了_Click:
MsgBox Err.Description
Resume Exit_終了_Click

End Sub

終了日を入力したら次のレコードの開始日に終了日の翌日が自動的に入力されるようにしたいです。

宜しくお願いします!!

投稿日時 - 2010-04-22 15:50:00

QNo.5843834

困ってます

質問者が選んだベストアンサー

『終了日』テキストボックスの更新後処理で、『開始日』に
『既定値』を設定してやれば、目的は果たせるかと思います:

Private Sub 終了日_AfterUpdate()
On Error Goto エラー処理

  '値を削除した場合は、何もしない
  '(その前の入力で既定値が設定済みなら、その値を保持)
  If IsNull(終了日) Then Goto 終了処理

  '『終了日』の翌日の日付を、『開始日』の既定値に設定
  '(割り算扱いされるを避けるため、「#」で括る必要あり)
  Me!開始日.DefaultValue = "#" & DateAdd("d", 1, 終了日) & "#"

終了処理:
  Exit Sub

エラー処理:
  MsgBox Err.Number & ":" & Err.Description, , Me.Name & " 終了日"
  Resume 終了処理

End Sub


・・・以上です。
なお、テーブル上でのデータ型が、『開始日』・『終了日』ともに
「日付/時刻型」であるという前提です。

投稿日時 - 2010-04-22 23:02:33

お礼

DexMachinaさんありがとうございます!!
できました!!
使っていると新たな問題が発生しつつあるのでまたよろしくお願いします!!

投稿日時 - 2010-07-14 17:23:55

このQ&Aは役に立ちましたか?

10人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

少しでも解決の役に立てば・・・・と、回答しておりますが。
質問者さんの技量がわかりません。


【補足要求】(欄が無くなったのですね)

提示されたVBA記述部分と、
> 終了日を入力したら次のレコードの開始日に終了日の翌日が自動的に入力されるようにしたいです。

とは、どのような関係にあるのでしょうか。

何をしているVBAなのか説明してください。
説明内容により、追加で回答できるものなのか、見極めたいと思います。


今回の内容は、

MicrosoftAccess2000「社員管理システム」退社日を他の...
http://okwave.jp/qa/q5795162.html

上記URLでの続き(発展形)になるのでしょうか。
上記回答#3の補足メールが本日届きましたが、回答に難義しています。
補足には、
> サブフォームコントロール名は「ToggleLink」なので
という記述がありましたが、今回の ToggleLink と同じものを指しているのでしょうか。

「ToggleLink」は、何者ですか。
True / False の値を設定しているようですが・・・・



蛇足) また、本日届いた補足メール

取引先の消費税の計算方法を四捨五入と切り捨てに区別
http://okwave.jp/qa/q5811666.html

については、私の技量不足で追加で書ける回答はありません。
(遊ばれてたりして・・・と、勘繰りたくなる気持ちもあります、、)

投稿日時 - 2010-04-22 22:17:14

お礼

30246kikuさんありがとうございます!!
VBAやTooglelinkは私が作ったものではないので、少しでも状況がわかればと思い全部貼り付けてしまいました・・・
まだまだ改善点がありそうなので宜しくお願いします!!

投稿日時 - 2010-07-14 17:26:57

あなたにオススメの質問