Skip to main content

AccessTr.neT M.


metin tipinde ayarlanmış sürelerle işlemsel

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.

Visual Basic Code
1
2
3
4
5
6
7
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

Visual Basic Code
1
2
3
4
5
6
7
8
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

Visual Basic Code
1
2
3
4
5
6
7
8
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

Visual Basic Code
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 Adlı Kullanıcıdan Alıntı: eğer değerler metin türündeyse ve saat:dakika formatındaysa sşağıdaki kod işinize yarayabilir.

Visual Basic Code
1
2
3
4
5
6
7
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