Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
18/02/2019 14:59
Konu Sahibi
IceMan7
Yorumlar
8
Okunma
571
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
IceMan7

IceMan7

Aktif Üye
81873
Ab.... GÜ....
 33
 17
 66
 02/05/2016
0
 İstanbul
 Muhasebe
 Ofis 2016 64 Bit
 10/07/2019,09:55
Çözüldü 
Sevgili Hocalarım;
Bilgi birikimlerinizden yıllardır faydalanıyoruz hepinize öncelikle teşekkür ederim.
Sizlerden ricam yine bu siteden hocalarımdan sayın ozguryasin hocamın yıllar evvel paylaşmış olduğu PUANTAJ programını hobi amaçlı geliştirmek istiyorum. Öğrenme ve bilgi edinme adına bir çalışma yapmak istiyorum. Yapmak istediğim kısımları aşağıda açıklamaya çalışacağım.

1-Puantaj girişindeki değerleri 1 2 gibi rakamlar ile değil "X","Yİ","Mİ","İ","D", Gibi değerler girmek istiyorum. puantajda çalışanın toplam geldiği günler toplarken şu işlemi yapsın istiyorum.

X=Çalıştığı Gün
İ= Yıllık İzin
Y=Yarım Gün Yıllık İzin
Mİ= Mazeret İzni
D=Devamsız Gelmediği Gün
Ü=Ücretsiz İzin
H=Hafta Tatili
RT=Resmi Tatil
R=Raporlu
HR=Raporlu(3 Gün ve üzerindeki raporların yazıldığı durumlarda)

Yapmak istediğim şöyle Personelin geldiği günlerin ve hasta yada raporlu yada ücretsiz izin aldığı durumlarda şu işlemi yapsın istiyorum.
excel de kullandığım puantaj formunu özgür hocamın yaptığı Access formunda kullanmak istiyorum.
Hem Excel hemde acces örnekleri ektedir.

Not: Avans gibi parasal kısımların hiçbirini eklemeye gerek duymuyorum çünkü sadece personelin raporlarını ve geldiği gelmediği günleri saysın yeterli.




ozanakkaya

ozanakkaya

Kurucu
1
Oz.... Ak....
 39
 482
 12.135
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Dün,23:46
Merhaba, X için Gün alanına X Sayısını toplatmak için,

- G01 den G31'e kadar tüm metin kutularının isimlerini değiştir, metin kutusunun denetim kaynağı G11 ise metin kutusunun adı da G11 olmalı, şu anda alt formda denetim kaynağı G10 olan metin kutusunun adı Metin107. Metin107 değil G10 olacak.

- Calisan_Puantaj_Hes tablosundaki G01, G02.... G31 şeklindeki alanların veri türünü metin olarak değiştir. bu tabloya Gun adında yeni alan ekle,

- Calisan_Puantaj_Hes 1 isimli alt formun satır kaynağına eklenen Gun : G01 + G02 şeklinde alan var bu alanı iptal et, yerine tablodaki Gun alanını ekle.

- Calisan_Puantaj_Hes 1 isimli alt forma 

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Hesapla()

Dim GSayi As Integer

GSayi = 0
For ss = 1 To 31

ss = Format(ss, "00")


If Controls("G" & ss).Value = "X" Then

GSayi = GSayi + 1

End If

Next ss

Me.Gun = GSayi

End Sub


kodu ekle,

Alt formun geçerli olduğunda olayına ve G01, G02 isimli metin kutularının (G31'e kadar) güncelleştirme sonrasında olayına

Visual Basic Code
Call Hesapla


Kodu ekle. Bu şekilde, metin kutusuna X yazdığında Gun alanına X toplamını yazar.

Anlaşılmayan durum var ise belirtin.


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

...........
IceMan7

IceMan7

Aktif Üye
81873
Ab.... GÜ....
 33
 17
 66
 02/05/2016
0
 İstanbul
 Muhasebe
 Ofis 2016 64 Bit
 10/07/2019,09:55
Ozan Hocam kolay gelsin hayırlı işler dilerim.
Dediklerinizi yaptım fakat sanırım bi yeri yanlış mı yaptım nedir anlamadım yaptığım örnek ektedir. acaba yardımcı olabilirmisiniz?
daha sonrasında yövmiyeleri felan silecem onların yerine raporlu hasta raporlu gibi devamsız gibi alanlar ekleyecem ama öncelikli olarak X leri toplatmayı beceremedim. saygılarımla.



ozanakkaya

ozanakkaya

Kurucu
1
Oz.... Ak....
 39
 482
 12.135
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Dün,23:46
1- ) Yazdığınız kod

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Form_Current()
Sub Hesapla()

Dim GSayi As Integer

GSayi = 0
For ss = 1 To 31

ss = Format(ss, "00")


If Controls("G" & ss).Value = "X" Then

GSayi = GSayi + 1

End If

Next ss

Me.Gun = GSayi

End Sub


bu şekilde kod yazım şekli yok. Doğru kod;

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub Form_Current()
Call Hesapla
End Sub

Sub Hesapla()

Dim GSayi As Integer

GSayi = 0
For ss = 1 To 31

ss = Format(ss, "00")


If Controls("G" & ss).Value = "X" Then

GSayi = GSayi + 1

End If

Next ss

Me.Gun = GSayi

End Sub


Ayrıca, formdaki alt formunun kaynak nesnesi "Calisan_Puantaj_Hes" isimli form olmasına rağmen siz kodu "Calisan_Puantaj_Hes1" isimli alt forma eklemişsiniz.

2- Önceki mesajımda "Calisan_Puantaj_Hes 1 isimli alt formun satır kaynağına eklenen Gun : G01 + G02 şeklinde alan var bu alanı iptal et, yerine tablodaki Gun alanını ekle." şeklinde ibare var. Eklediğiniz örnekte alt formun satır kaynağındaki sorguda halen 

SQL Code
Gun: ([G01]+[G02]+[G03]+[G04]+[G05]+[G06]+[G07]+[G08]+[G09]+[G10]+[G11]+[G12]+[G13]+[G14]+[G15]+[G16]+[G17]+[G18]+[G19]+[G20]+[G21]+[G22]+[G23]+[G24]+[G25]+[G26]+[G27]+[G28]+[G29]+[G30]+[G31])*1


Şeklinde kod mevcut, bunun silinip Sadece Gun yazılması gerekiyor.

Bunları düzeltirseniz çalışır,



"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

...........
IceMan7

IceMan7

Aktif Üye
81873
Ab.... GÜ....
 33
 17
 66
 02/05/2016
0
 İstanbul
 Muhasebe
 Ofis 2016 64 Bit
 10/07/2019,09:55
Ozan Hocam;
Dediklerinizi yaptım sanırım oldu bi kontrol edebilir misiniz?

Şimdi bir sonraki aşama olan Gun= "X"+"H"+"RT"+"İ"+"Mİ"+"R" Harfleri olsa bile Toplam gün sayımız 30 ise yine 30 kalması lazım. Yani ahmet kişisinin 1 ay içinde tüm günleri "x" de olsa günlerinin içinde hem "x" hemde "i" harfleri olsa bile toplam gün sayısının değişmemesi 30 olması lazım.

Ayrıca diğer bir aşama ise eğer günlerin içinde yukardaki yazdıklarımın dışında "HR","D","Ü" Yazdığımız zaman toplam gün sayısınından düşmesini istiyorum. Yardımcı olabilirmisiniz. Örnek ektedir.



ozanakkaya

ozanakkaya

Kurucu
1
Oz.... Ak....
 39
 482
 12.135
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Dün,23:46
(22/02/2019 16:25)IceMan7 Adlı Kullanıcıdan Alıntı: Şimdi bir sonraki aşama olan Gun= "X"+"H"+"RT"+"İ"+"Mİ"+"R" Harfleri olsa bile Toplam gün sayımız 30 ise yine 30 kalması lazım. Yani ahmet kişisinin 1 ay içinde tüm günleri "x" de olsa günlerinin içinde hem "x" hemde "i" harfleri olsa bile toplam gün sayısının değişmemesi 30 olması lazım.


Visual Basic Code
If Controls("G" & ss).Value = "X" Then


üstteki kodu 


Visual Basic Code
If Controls("G" & ss).Value = "X" or Controls("G" & ss).Value = "h" Then



şeklinde değiştirirsen X ile birlikte h yi de sayar, bu koda diğer koşulları da eklemelisiniz.

(22/02/2019 16:25)IceMan7 Adlı Kullanıcıdan Alıntı: Ayrıca diğer bir aşama ise eğer günlerin içinde yukardaki yazdıklarımın dışında "HR","D","Ü" Yazdığımız zaman toplam gün sayısınından düşmesini istiyorum.

Hesaplama işlemindeki koşulda HR, D ve Ü harfleri sayılmadığı için zaten gün hesabına dahil olmuyor.


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

...........

Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Metin Tipinde Ayarlanmış Sürelerle İşlemlerde Toplama Sorunu yücel üzülmez 9 571 08/05/2019, 23:09
Son Yorum: berduş
Çözüldü Filtre İşlemi Bilal Demirci 3 255 07/02/2019, 14:04
Son Yorum: Bilal Demirci
Çözüldü Formda Çıkarma İşlemi. kalabakli 5 244 02/02/2019, 23:02
Son Yorum: kalabakli
Çözüldü Ekleme Ve Silme İşlemi exmadon 4 336 06/01/2019, 14:10
Son Yorum: berduş
Çözüldü Tablodan Dilediğimiz Sayı Kadar Veri Çekme İşlemi Nasıl Yapılır? alimadam 4 340 13/12/2018, 16:41
Son Yorum: alimadam

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