2016-05-10 15 views
1

Form_Timer()で2つのテキストボックスを単純に合計しようとしています。私は減算することができますForm_hh:nn:ss + hh:nn:ssの合計MS Access 2013テキストボックスを連結します。

txtmyqueusedtime = Now() 

txtmyqueduration = Format([txtmyqueusedtime] - [txtmyquestarttime], "hh:nn:ss") 

しかし、私はそれを連結しようとすると戻ってきます。

txtmyquecmbtimer = [txtmyqueduration] + [txtmyquecmbquedur] 

EX:私が00:00:03 + 00:00:01を追加する必要がある場合は、00:00:04を返す必要があります。 0300:00:代わりに、私は00を返しています00:01

詳細:

私は残念ながら、私は種類の不一致エラーで毎回会ってきた、それが適切に要約してもらうために、さまざまな方法を試してみました。 [txtmyquecmbtimer]は、開かれているフォームの現在の持続時間[txtmyqueduration]を持つキューに入れられた人物(静的)を追加する必要があります。

ご協力いただきありがとうございます - 必要に応じて追加の詳細情報をお寄せください。

UPDATE - 最後にこれを考え出した

*Private Sub Form_Timer() 
Dim combtime As Date 
Dim duration As Date 
Dim sumtime As Date 
    txtmyqueusedtime = Now() 
    txtmyqueduration = Format([txtmyqueusedtime] - [txtmyquestarttime], "hh:nn:ss") 
     If IsNull(DLookup("CombinedDuration", "Agent_Queue", "SysAcct = '" & txtmyquesysacct & "'")) Then 
     Me.txtmyquecmbtimer.Value = [txtmyqueduration] 
     Else 

     combtime = CDate(DLookup("CombinedDuration", "Agent_Queue", "SysAcct = '" & txtmyquesysacct & "'")) 
     duration = CDate(txtmyqueduration) 
     sumtime = duration + combtime 
     Me.txtmyquecmbtimer.Value = sumtime 
End If 
End Sub* 
+0

値を一緒に追加する前に日付/時刻形式に変換する必要がある場合があります。 'TIMESERIAL()'や 'CDate()'を試してください – MoondogsMaDawg

+0

CDate()はきれいに働きました - ありがとう! – Matt

+0

日付時刻を減算するには 'DATEDIFF()'を使用し、日付までの間隔に加算するには 'DATADD()'を使います – marlan

答えて

1

使用DateDiff()日に間隔を追加する日付時刻、およびDateAdd()を減算する

Private Sub Form_Timer() 
    Dim combtime As Date 
    Dim duration As Long 
    Dim sumtime As Date 
    txtmyqueusedtime = Now() 
    txtmyqueduration = DateDiff("S", [txtmyqueusedtime], [txtmyquestarttime]) 
    If IsNull(DLookup("CombinedDuration", "Agent_Queue", "SysAcct = '" & txtmyquesysacct & "'")) Then 
     Me.txtmyquecmbtimer.Value = [txtmyqueduration] 
    Else  
     combtime = CDate(DLookup("CombinedDuration", "Agent_Queue", "SysAcct = '" & txtmyquesysacct & "'")) 
     duration = Clng(txtmyqueduration) 
     sumtime = DateAdd ("S", duration, combtime) 
     Me.txtmyquecmbtimer.Value = sumtime 
    End If 
End Sub 

注:durationは秒のnuberですTime値ではありません。

関連する問題