Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
29/04/2019 22:59
Konu Sahibi
yücel üzülmez
Yorumlar
13
Okunma
318
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy

yücel üzülmez

Üye
103326
yü.... üz....
 40
 3
 15
 24/03/2019
0
 Zonguldak
 
 Ofis 2019 32 Bit
 12/05/2019,04:47
Çözüldü 
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



haliliyas

Uzman
65596
Ha.... Ya....
 Belirtilmemiş
 23
 1.024
 30/07/2014
172
 -
 
 Ofis 2019 64 Bit
 Bugün,12:23
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.



haliliyas

Uzman
65596
Ha.... Ya....
 Belirtilmemiş
 23
 1.024
 30/07/2014
172
 -
 
 Ofis 2019 64 Bit
 Bugün,12:23
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



yücel üzülmez

Üye
103326
yü.... üz....
 40
 3
 15
 24/03/2019
0
 Zonguldak
 
 Ofis 2019 32 Bit
 12/05/2019,04:47
Şö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.



yücel üzülmez

Üye
103326
yü.... üz....
 40
 3
 15
 24/03/2019
0
 Zonguldak
 
 Ofis 2019 32 Bit
 12/05/2019,04:47
(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



haliliyas

Uzman
65596
Ha.... Ya....
 Belirtilmemiş
 23
 1.024
 30/07/2014
172
 -
 
 Ofis 2019 64 Bit
 Bugün,12:23
[Resim: do.php?imgf=aede4e61e3241.jpg]




Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü İlişkisiz Form Da Listenin Filtrelenen Alanını İlişkisiz Metin Kutusu İle Update ask200075 4 98 29/04/2019, 11:27
Son Yorum: ask200075
Çözüldü Metin Kutusuna Girilen Veriye Göre Veri Çağırma fascioğlu 9 557 14/03/2019, 14:50
Son Yorum: programmer67
Çözüldü Metin Kutusu Dikey Ortalama irfanxdemir 20 7.437 19/02/2019, 13:25
Son Yorum: dioxi
Çözüldü Metin Kutusuna Sayı Ve Rakamdan Oluşan Değer Aktarma akdemir1 2 169 03/02/2019, 22:11
Son Yorum: akdemir1
Çözüldü Formdaki İlişkili Ve İlişkisiz Metin Kutularını Aynı Tabloya Kaydettirme akdemir1 8 305 03/02/2019, 01:15
Son Yorum: akdemir1

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.