Skip to main content

AccessTr.neT


Yatılı Okul Öğrenci İşleri

Yatılı Okul Öğrenci İşleri

Çözüldü #1
Arkadaşlar sizlerinde büyük desteği ile bir program yaptım. Lakin bir konu var çözebilir miyiz?

nöbet istatisliğinde cumanın hafta sonuna dahil edilmeden ikinci bir rapor almalıyım. Yapa bilirmiyiz?
yani benim eklediğimde nöbet istatisliğinde hafta sonu cuma, cumartesi ve pazar;
Ben ayrı bir raporda hafta sonu bilgisinde sadece cumartesi ve pazar sayılarıyla almak istiyorum.
.rar PANSİYON YÖNETİM-V-SN.rar (Dosya Boyutu: 2,23 MB | İndirme Sayısı: 9)
Cevapla
#2
hangi sorgu/rapor adını yazar mısınız?
Cevapla
#3
Şimdi giriş formunda "nöbet istatisliğini" tıklayınca gelen rapordaki "rpr_nobetistatislik" raporunun bağlı olduğu, Zannedersem "Gecici"Img-grin sorgusu
Cevapla
#4
"rpr_nobetistatislik" raporunun mu sadece cumartesi pazarı göstermesini istiyorsunuz?
yoksa yeni bir rapor ve bağlı oduğu yeni bir sorgu mu oluşturulacak?
Cevapla
#5
Yeni bir rapor yapabilirsek daha verimli olur. Bu raporda hafta sonu olarak cumartesi ve pazarı baz alacağız.
Cevapla
#6
sorguda kullanılan NobetHaftaIciSonu fonksiyonunda
Visual Basic Code
Public Function NobetHaftaIciSonu(kimo, Zaman As Long, Hangi As String) As Integer
Dim Veri As New ADODB.Recordset, Sayac, Hft(1), Hane As Long
Veri.Open "SELECT TblNobet.* FROM TblNobet " & _
"WHERE (((TblNobet.OgretmenId)=" & kimo & ") AND ((Format(" & IIf(CLng(Right(Zaman, 2)) > 0, "[donem],'yyyymm'", "[donem],'yyyy'") & "))=" & IIf(CLng(Right(Zaman, 2)) > 0, Zaman, Left(Zaman, 4)) & ")) Order By [donem]", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
If CLng(Right(Zaman, 2)) = 0 Then Debug.Print Veri.Source
If Veri.RecordCount = 0 Then Exit Function
Do Until Veri.EOF
    For Sayac = 1 To 31
        If Veri("G" & Sayac) = "NÖ" Then
            Hane = IIf(Eval(Weekday(DateSerial(Left(Zaman, 4), Right(Zaman, 2), Sayac), vbMonday) & " In (5,6,7)"), 1, 0)
            Hft(Hane) = Hft(Hane) + 1
        End If
    Next Sayac
Sayac = 1
Veri.MoveNext
Loop
Veri.Close
Set Veri = Nothing
NobetHaftaIciSonu = Hft(IIf(Hangi = "N", 0, 1))
End Function
Hane = IIf(Eval(Weekday(DateSerial(Left(Zaman, 4), Right(Zaman, 2), Sayac), vbMonday) & " In (5,6,7)"), 1, 0)
yukardaki satırda 5,6,7 rakamları haftanın 5., 6. ve 7. günlerini gösterir. cumayı çıkartmak isterseniz sadece In (6,7) yazmanız yeterli.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da