タイトル通りなのですが、アクセス97でストップウォッチを作りました。
作ったのはいいのですが時間を計った後その値をクリアしたいのです。
フォーム上でコマンドボタンを使ってクリアしたいのですが、
コマンドボタンをコマンドボタンウィザードで作る事ができるでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

単純に



Private Sub Clear_Click()
Me![開始時間] = ""
Me![終了時間] = ""
Me![経過時間] = ""
End Sub

で、いいのでは?

ちなみに、この機能だと1ボタンでもいいのでは?
Startボタンの表題が"スタート"だとして、

Private Sub Start_Click()
Dim stopTime As Single
Dim lapseTime As Single
Select Case Me![Start].Caption
Case "スタート"
startTime = Timer
Me![開始時間] = startTime
Me.Start.Caption = "ストップ"
Case "ストップ"
stopTime = Timer
Me![終了時間] = stopTime
lapseTime = stopTime - startTime
Me![経過時間] = lapseTime
Me![Start].Caption = "クリア"
Case "クリア"
Me![開始時間] = ""
Me![終了時間] = ""
Me![経過時間] = ""
Me![Start].Caption = "スタート"
End Select
End Sub

とすると・・・・
    • good
    • 0
この回答へのお礼

ありがとうございます!!!!!!!!!!!!!!
出来ました♪
そうですよね・・・
何を難しく考えてたんだろう・・・(汗)
すごくすごく嬉しいです♪♪♪
最近アクセスでいろいろ作らされてて<こんな初心者になんて事をさせるのだ(涙)
また、何か分からない事があったらお尋ねする事があるかもしれませんが、
その際もよろしくお願いいたします。
ほんとにほんとにありがとうございました♪

お礼日時:2001/01/28 16:27

あっ!ごめんなさい。

質問の意味を間違えていました。
テキストボックスか、ラベルに表示されているストップウォッチの値を0にするって事ですよね?

でしたら、やはりマクロかモジュールで、そのコントロールに値をいれてやればいいかと・・・・

質問の意味を間違えてますかねえ?

この回答への補足

一応わたしがストップウォッチをつくった時のクラスモジュールです。

Option Compare Database
Option Explicit
Dim startTime As Single

Private Sub Start_Click()
startTime = Timer
Me![開始時間] = startTime
End Sub

Private Sub Stop_Click()
Dim stopTime As Single
Dim lapseTime As Single
stopTime = Timer
Me![終了時間] = stopTime
lapseTime = stopTime - startTime
Me![経過時間] = lapseTime
End Sub

ここにオブジェクト「Clear」(作ったボタンの名前)
プロシージャ「Click」を選んで
教えていただいたモジュールの記述を入力してみたんですけれど・・・
0という表示にならないのです・・・

いかがでしょうか・・・

補足日時:2001/01/28 15:17
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

スタートとストップのイベントプロシージャの入力をしたように
クリアのコマンドボタンをつくってクリック時のイベントプロシージャに
記述をすればいいって事ですよね?<自信なしなし(涙)

で、最初のお応えの際のモジュールの式を入力してみたのですが、
(コマンド名はちゃんと自分のボタンの名前をいれました)
ストップウォッチのフォームで実行しても0にならないんです(涙)
訳がわからなくなってきました(涙)

もし、よろしければ再度わたしが間違っている所を教えていただけませんでしょうか?

お礼日時:2001/01/28 14:32

マクロを作っておけば、ウィザードで「マクロの実行」を選択することで、作れます。



って、これは、ウィザードで出来るとは言いませんね(笑い)

フォームのタイマーを使っているとして、回答しますが、フォームのタイマー間隔(TimreInterval)を0にするとタイマーは止まりますので、マクロかモジュールで0にしてやります。

□マクロの場合は、
 アクション:値の代入
 アイテム:[Forms]![フォームの名前].[TimerInterval]
 式:0

でマクロを作成保存して、コマンドボタンのウィザードでマクロの実行を指定してください。

□モジュールで実行する場合は、
 ボタンのクリック時のイベントで、コードビルダを選択して、作成されたイベントを下記のようにしてください。

Private Sub コマンド9_Click()
Me.TimerInterval = 0
End Sub

上記の「コマンド9」は、あなたのコマンドボタンの名前になりますからお間違いなく。
    • good
    • 0

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


人気Q&Aランキング

おすすめ情報