• ベストアンサー

Accessで作業時間取得

WindowsXP, Access2003&2010 AccessのフォームとVBAを使って、コマンドボタンを押した時から再度そのボタンを押すまでの時間を計ることは可能でしょうか。 今は「作業開始」ボタンと「作業終了」ボタンの2個を使ってカウント(押した時のタイムスタンプから差異を計算)させてますが、できればボタン一つで済ませたいです。

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

  • ベストアンサー
  • rootPC
  • ベストアンサー率53% (8/15)
回答No.1

そこまでできていれば悩むこと無いと思うのですが ボタンの表記をvbaで書き換え、開始ボタンの時に public変数に時間を記録+ボタンの表記を停止に変更 ボタン表記が停止の時はpublic変数の時間と現在時刻から経過時間算出とか色々方法があると思います

fffrooo
質問者

お礼

rootPCさん、回答に対するお礼が遅くなってすみません! そういうアイディアは出てきませんでした。文字の表示の変化をキーにすればいいんですね。ありがとうございます!やってみます。

関連するQ&A

  • Access で作業日報

    いつもお世話になります。 OS:Windows 7 Access 2007 このコーナーで作業日報の時間計算について質問させていただきました。 教えていただいたのは、クエリで関数に入れて、フォームを作成すれば、うまく時間が表示されましたが新規入力ができませんでした。 今回はVBAでした方がいけるのではないでしょうかと思いましたがコードの書き方が分からなくて助けてもらいたいです。 フォームに名前・開始時間・完了時間・休憩時間・勤務時間・残業時間・工数とそれぞれテキストボックスがあります。 勤務時間=開始時間-完了時間        8:00  -  17:00 =8時間 休憩時間 = 12時~13時 残業時間=17:00以降 工数は8時間=1工=勤務時間 開始時間と完了時間を入力したら、勤務時間は8時間で残りは残業時間を自動的計算できようにしたいです。 よろしくお願い致します。

  • Access VBAで

    VBAの超初心者です。 Accessのフォームでコマンドボタンを押すと、決まった文字が入力できるフォームを作りたいと思っています。 クリック時のイベントプロシージャーはどのように記入すればよいのでしょうか。 ど素人な質問ですみません。

  • アクセスについて

    アクセスにてフォーム新規コマンドクリック時に入力フォームを立ち上がるよにVBAを設定したいのですがどうすればよいでしょうか?

  • Accessのフォームで作業領域を小さくしても表示される画面が大きい

    Accessのフォームを使用して、簡易的なメニューフォームを作成しています。コマンドボタンを配置して、アプリケーション終了ボタンを配置したり、フォームを呼び出すボタンを配置したり・・・・ 最終的には小さなメニューフォームを表示させたいと思います。 そのためにデザイン画面で作業領域(方眼状のもの)を小さくしてデザインしたのですが、保存して確認してみると、ある大きさから小さくなりません。 作業領域を小さくしてデザインしても、ビューで確認する画面は一定の大きさから小さくなりません。 どこかに設定があるのでしょうか? よろしければご指導いただくようお願いいたします。

  • 2つの時間から作業時間を算出したい

    ●質問の主旨 「開始時間」と「終了時間」を予め表示させておき、 「終了時間」-「開始時間」=「作業時間」とするには、 どのようなコード記述をすれば良いでしょうか?ご教示願います ●質問の補足 1.「作業開始」ボタンを押すと、「開始時間」が現在の時間に変わります。 2.「作業終了」ボタンを押すと、「終了時間」が現在の時間に変わります。 3.「作業終了」の処理が終わると同時に、赤色の部分が、   「終了時間」-「開始時間」=「作業時間」の時間計算を行い、計算結果を    表示させたいと考えています。 4.時間計算の上、表示を「0:00」(○時間○分)としたいと考えています。 5.現在のコードでは計算がされておらず、常に「0:00:00」が表示されます。 ●コード '開始時間をクリックするとラベル22が時間に変わる Private Sub CommandButton6_Click() With Me.CommandButton6 Me.Label22.Caption = FormatDateTime(Time, vbShortTime) End With End Sub '終了時間をクリックするとラベル23が時間に変わる Private Sub CommandButton7_Click() With Me.CommandButton7 Me.Label23.Caption = FormatDateTime(Time, vbShortTime) End With Call sagyoujikan End Sub '作業時間の算出 Private Sub sagyoujikan() Dim kaishi As Date Dim syuryo As Date kaishi = DateDiff("h", Label22, Label23) syuryo = DateDiff("m", Label22, Label23) Me.Label24.Caption = kaishi + syuryo End Sub 以上よろしくお願い申し上げます。使用機種はWindowsVistaで、 Excel2007です。私はVBA初心者です。

  • Access2000のレコード削除について

    Access2000のVBAにより、フォームに配置したコマンドボタンを押すことで、テーブルの全レコードを一度に削除したいのですが、どの様にすればよいのですか? 構文で教えて頂けると助かります。とても困っています。よろしくお願いします。

  • ACCESS VBAで別のプロシージャを呼びだした後

    いつもお世話になります。 ACCESS VBAで、別のプロシージャを呼びだし、 フォームを開き、あるコマンドボタンをクリックすると、 もとに戻ってくるようにしたいのですが、 call で別のプロシージャを呼びだし、フォームを開くところまではうまくいくのですが、コマンドボタンをクリックする前に戻ってきてしまいます。 コマンドボタンにはイベントプロシージャを設定しているのですが、 それではダメなんですよね? どのようなコードになるのでしょうか?よろしくお願いします。

  • アクセス初心者です。

    アクセス初心者です。管理簿を作っています。フォームでの更新や削除などを「いいえ」にして、コマンドをクリックして初めて削除ができたり編集ができたりとしたいのですが、どのようなプログラムを書き込めばいいのでしょうか??コマンドボタンは、登録・削除・更新を作っています。 あと、アクセスの独学って厳しいものなのでしょうか?VBAは何から勉強していけばいいのでしょうか?また初心者向けのサイトで分かりやすいのはありますか?アクセスクラブは参考にしているのですが、私には分かりにくいです。よろしくお願いします。

  • Accessでレコードの保存をせずにフォームを閉じたい

    Accessでデータベースのレコード追加を行うフォームを作成しています。 コマンドボタン(1)をクリック→新しいレコードの追加 コマンドボタン(2)をクリック→フォームを閉じる としています。(ウィザードを使用して、埋め込みマクロ?を設定しています。) コマンドボタン(1)でレコードが追加されるのは問題ないのですが、 コマンドボタン(2)をクリックした場合も、レコードが追加されていることに気がつきました。 一般的に入力する人は、 データを追加しようと思って入力していたけれど、 途中でやめてフォームを閉じることってありますよね? そういう場合にレコードが追加されてしまったら問題だと思ったのです。 ですが、どうしたらレコードの追加をせずにフォームを閉じられるかがわかりません。 それって可能でしょうか? Access初心者です。難しいVBAとかはまだよくわかりません。 何か方法、アドバイス等ありましたら よろしくお願いします。

  • アクセス・マクロの登録について

    いつもお知恵拝借、ありがとうございます。 最近、初めてaccess vbaのモジュールを作成しました。excelでは経験があったので、そのつもりで、フォームのコマンドボタンに「マクロの登録」をしようと思ったのですが、excelの時のように、右クリック→マクロの登録・・・と言うわけにはいかないようです。 いろいろネットも調べてみたのですが、どうも要領を得ません(^^;) accessのフォームのコマンドボタンに、マクロを登録するにはどうしたらいいのでしょうか? 因みに、vbeの画面から実行すると、ちゃんと動いてくれます。 基本的な質問ではなはだ恐縮ですが、どなたかご指導のほど、よろしくお願いしますm(_ _)m