• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Ekders fonksiyonu...

  • Konbuyu başlatan Konbuyu başlatan Nadir
  • Başlangıç tarihi Başlangıç tarihi
Katılım
21 Kasım 2004
Mesajlar
87
Aşağıdaki fonksiyon ile istediğim sonucu alamıyorum.
Yüksekolu mezunu Yönetici ("YÜK.OK.-Yön.") bir personelin günlük girmesi gereken ders saatleri ikinci ve üçüncü satırdaki kodların karşılığını vermesi gerekinken doğru olarak göstermiyor. Kodlarda bir hata yapıyorum belli... Nasıl düzeltilmesi lazım.

Tahsil ve Yönetici durumuna göre günlük ders saatleri şöyle;
(Pazartesi, Salı, Çarşamba, Perşembe ve Cuma)
'Yüksek okul Mezunu Yönetici: 2-2-3-3-2
'Yüksek Okul Mezunu Öğretici: 2-2-2-2-1

'Lise Mezunu Yönetici: 2-2-2-1-2
'Lise Mezunu Öğretici: 1-1-2-1-1


Function derssaat(i, k)
If k = "Cmt" Or k = "Paz" Then derssaat = "x"

If i = "YÜK.OK.-Yön." And k = "Pzt" Or k = "Sal" Or k = "Cum" Then derssaat = 2
If i = "YÜK.OK.-Yön." And k = "Çar" Or k = "Per" Then derssaat = 3

If i = "YÜK.OK." And k = "Pzt" Or k = "Sal" Or k = "Çar" Or k = "Per" Then derssaat = 2
If i = "YÜK.OK." And k = "Cum" Then derssaat = 1


If i = "LİSE-Yön." And k = "Pzt" Or k = "Sal" Or k = "Çar" Or k = "Cum" Then derssaat = 2
If i = "LİSE-Yön." And k = "Per" Then derssaat = 1

If i = "LİSE" And k = "Pzt" Or k = "Sal" Or k = "Per" Or k = "Cum" Then derssaat = 1
If i = "LİSE" And k = "Çar" Then derssaat = 2
End Function
 
Fonksiyonunuza aşağıdaki parantez ilavelerini yapmalısınız.

Kod:
Function derssaat(i, k)
If k = "Cmt" Or k = "Paz" Then derssaat = "x"
If i = "YÜK.OK.-Yön." And [COLOR=black]([/COLOR]k = "Pzt" Or k = "Sal" Or k = "Cum") Then derssaat = 2
If i = "YÜK.OK.-Yön." And (k = "Çar" Or k = "Per") Then derssaat = 3
If i = "YÜK.OK." And (k = "Pzt" Or k = "Sal" Or k = "Çar" Or k = "Per") Then derssaat = 2
If i = "YÜK.OK." And (k = "Cum") Then derssaat = 1

If i = "LİSE-Yön." And (k = "Pzt" Or k = "Sal" Or k = "Çar" Or k = "Cum") Then derssaat = 2
If i = "LİSE-Yön." And k = "Per" Then derssaat = 1
If i = "LİSE" And (k = "Pzt" Or k = "Sal" Or k = "Per" Or k = "Cum") Then derssaat = 1
If i = "LİSE" And k = "Çar" Then derssaat = 2
End Function
 
Böyle daha hızlı çalışır.
Kod:
Function derssaat1(i, k)
If k = "Cmt" Or k = "Paz" Then derssaat1 = "x": Exit Function
Select Case i
    Case "YÜK.OK.-Yön."
        Select Case k
            Case "Pzt", "Sal", "Cum": derssaat1 = 2
            Case Else: derssaat1 = 3
        End Select
    Case "YÜK.OK."
        Select Case k
            Case "Cum": derssaat1 = 1
            Case Else: derssaat1 = 2
        End Select
    Case "LİSE-Yön."
        Select Case k
            Case "Per": derssaat1 = 1
            Case Else: derssaat1 = 2
        End Select
    Case "LİSE"
        Select Case k
            Case "Çar": derssaat1 = 2
            Case Else: derssaat1 = 1
        End Select
End Select
   
End Function
 
Son düzenleme:
Birde resmi tatil günlerini fonksiyona eklersek, daha hoş olacak. Mesela; 23-24-25 Ekim günleri Ramazan Bayramı idi. Bu resmi günler otomatik olarak "x" işaretli olacaktır.

2006 YILI RESMİ TATİL GÜNLERİ
YILBAŞI
1 OCAK PAZAR

KURBAN BAYRAMI AREFESi
9 OCAK PAZARTESİ

KURBAN BAYRAMI
10-11-12-13 OCAK

ULUSAL EGEMENLİK VE ÇOCUK BAYRAMI
23 NiSAN PAZAR

ATATÜRK'Ü ANMA GENÇLİK VE SPOR BAYRAMI
19 MAYIS CUMA

ZAFER BAYRAMI
30 AGUSTOS ÇARŞAMBA

RAMAZAN BAYRAMI AREFESi
22 EKiM PAZAR

RAMAZAN BAYRAMI
23-24-25 EKiM

CUMHURİYET BAYRAMI
29 EKiM PAZAR

KURBAN BAYRAMI AREFESi
30 ARALIK CUMARTESİ

KURBAN BAYRAMI
31 ARALIK PAZAR
 
Son düzenleme:
Geri
Üst