Skip to main content

AccessTr.neT


metin tipinde ayarlanmış sürelerle işlemsel

yücel üzülmez
yücel üzülmez
13
2074

metin tipinde ayarlanmış sürelerle işlemsel

Çözüldü #1
Haliliyas Hocam iyi akşamlar sizin vermiş olduğunuz örneğe göre çalışmama ve öğrenmeye devam ediyorum fakat hala bazı şeyleri kavrayamadım.
Size göndermiş olduğum örnekte makine çalışma saatlerini basit bir şekilde nasıl toplarım. Form tasarımından metin olarak seçtim saati örneğin 45:00 şeklinde yazabiliyorum ama topla dediğim zaman 45:0012:0015:00 gibi metin olarak yan yana yazıyor bu problemi nasıl aşabilirim?
Şöyle birşey denedim ama olmadı, yardımınız için şimdiden teşekkürler.

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 = [Me.yard1_cal_sa] + [Me.yard2_cal_sa] + [Me.yard3_cal_sa]

End If

End Sub
Cevapla
#2
mesajınız sorular bölümüne taşınmıştır
çalışmanızın son halini ekleyip; hangi formda, hangi butona basınca ne olmalı bu gibi ayrıntıları da belirtirseniz sorunu anlamak ve çözmek çok daha kolay olur.
Cevapla
#3
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
Cevapla
#4
Şöyle basit bir program yapmaya çalışıyorum. İlk defa Access ile çalışıyorum.
Teknede yapılan seferlerin kaydını tutmak istiyorum. 
Bunun için bir form tasarımı yaptım fakat daha buton eklemeyi bilmiyorum (kaydı kaydet, sil, güncelleştir v.b.). 
Şuan için iki tarih arasındaki sefer saatini saat cinsinden veriyor. Yani 125 veya 45 saat gibi. 
Bu toplam sefer süresi fakat makineler ayrı ayrı çalıştırılabiliyor yada sefer saatinden daha önce devreye alınabiliyor, bunları metin kutusu içine yazdırıp toplamam gerekiyor. Aynı şey yardımcı makineler içinde geçerli. 
Aynı zamanda seferde yakılan yakıtı toplamam gerekiyor ama özelliği sayı olarak seçtiğimde 0,25 gibi yazılan bir değeri 0'a 2,5 gibi yazılan bir değeri 2'ye yuvarlayarak gösteriyor toplam da sonucu da yuvarlayarak gösteriyor bu da ikinci bir sorun.
.rar seybilden2.rar (Dosya Boyutu: 36,64 KB | İndirme Sayısı: 1)
Cevapla
#5
(29/04/2019, 23:30)haliliyas yazdı: 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

Bu kodu kullanınca syntax error alıyorum
Cevapla
#6
[Resim: do.php?imgf=aede4e61e3241.jpg]
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task