eğer değerler metin türündeyse ve saat:dakika formatındaysa sşağıdaki kod işinize yarayabilir.
Private Sub top_yard_mak_cal_sa_Click()
If IsDate(Me.yard1_cal_sa) And IsDate(Me.yard2_cal_sa) And IsDate(Me.yard3_cal_sa) Then
Me.top_yard_mak_cal_sa =format(CDate([Me.yard1_cal_sa]),'hh:nn') + format(CDate([Me.yard2_cal_sa]),'hh:nn')+format(CDate([Me.yard3_cal_sa]),'hh:nn')
End If
End Sub
Asıl çalışan aşağıdaki kodlar
önce 2 fonksiyon tanımlıyoruz
bu fonksiyon metin kutularındaki değerleri alıp dakikaya çevirir
Function SaatDkCevir(Metin As String) As Double
NoktaYer = InStr(1, Metin, ":") ' intstr() fonksiyonu aranan değerin yerini gösterir : noktanın yerini bulup saat ve dakikaya ayırmak için kullanacağız
ZmnSaatdk = 60 * CLng(Mid(Metin, 1, NoktaYer - 1)) 'saati dakikaya çevirdik
ZmnDakika = CLng(Mid(Metin, NoktaYer + 1))
SaatDkCevir = ZmnSaatdk + ZmnDakika ' tek bir metin kutusu içintoplam dakikatı hesapladık
End Function
aşağıdaki fonksiyonda 3 ayrı metin kutusundaki değerleri topladık
Function ToplamYar() As String
If Not IsNull(Me.yard1_cal_sa) And Not IsNull(Me.yard2_cal_sa) And Not IsNull(Me.yard3_cal_sa) And _
Me.yard1_cal_sa <> "" And Me.yard2_cal_sa <> "" And Me.yard3_cal_sa <> "" Then
SureTxt = SaatDkCevir(Me.yard1_cal_sa) + SaatDkCevir(Me.yard2_cal_sa) + SaatDkCevir(Me.yard3_cal_sa)
ToplamYar = SureTxt \ 60 & ":" & SureTxt Mod 60
End If
End Function
son olarak da sizin istediğiniz kısım metin kutusuna değer atadık
Private Sub top_yard_mak_cal_sa_Click()
Me.top_yard_mak_cal_sa = ToplamYar
End Sub