Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
22/12/2011 22:04
Konu Sahibi
misilak
Yorumlar
14
Okunma
4073
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

misilak

Aktif Üye
Aktif Üye
 41
 123
 29
 08/02/2010
3
 İstanbul
 
 Ofis 2010 32 Bit
 25/07/2018,09:59
Çözüldü 
Merhaba arkadaşlar. Ekte yeralan dosyada izin başlama günü ile dönüş günü arasındaki farkı otomatik sayıyor. Ancak pazar günleri çalışılmadığı için sayılmasını istemiyorum. Yani iki tarih arasını sayarken bu tarihler arasında Pazar günü de varsa bunu yok saysın istiyorum. Saat bölümünde de mümkünse kullanılan saati dakikası ile birlikte göstersin. Teşekkür ederim.

Ek Dosyalar
Veritabanı3.rar(22.32 KB)


misilak, 08-02-2010 tarihinden beri AccessTr.neT üyesidir.

Kullanici Avatari

ozanakkaya

sledgeab
Kurucu
OZ.... AK....
 40
 11.263
 464
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Bugün,18:59
Çözüldü 
aşağıdaki kodu modüle kaydet

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function workDays(BegDate, EndDate)
Const SUNDAY = 1
Dim NumWeeks As Integer

If BegDate > EndDate Then
workDays = 0
Else
Select Case Weekday(BegDate)
Case SUNDAY: BegDate = BegDate + 1
End Select
Select Case Weekday(EndDate)
Case SUNDAY: EndDate = EndDate - 2
End Select
NumWeeks = DateDiff("ww", BegDate, EndDate)
workDays = NumWeeks * 6 + Weekday(EndDate) - Weekday(BegDate)
End If
End Function


sorguda

SQL Code
PazarHaric: workDays([İzin Başlama Günü],[Döneceği Gün])

şeklinde kullan

Saat için aynı modüle aşağıdaki kodu ekle,

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Public Function Diff2Dates(Interval As String, Date1 As Date, Date2 As Date, _
Optional ShowZero As Boolean = False) As Variant
On Error GoTo Err_Diff2Dates

Dim booCalcYears As Boolean
Dim booCalcMonths As Boolean
Dim booCalcDays As Boolean
Dim booCalcHours As Boolean
Dim booCalcMinutes As Boolean
Dim booCalcSeconds As Boolean
Dim booSwapped As Boolean
Dim dtTemp As Date
Dim intCounter As Integer
Dim lngDiffHours As Long
Dim lngDiffMinutes As Long
Dim varTemp As Variant

Const INTERVALS As String = "hn"

'Check that Interval contains only valid characters
Interval = LCase$(Interval)
For intCounter = 1 To Len(Interval)
If InStr(1, INTERVALS, Mid$(Interval, intCounter, 1)) = 0 Then
Exit Function
End If
Next intCounter

'Check that valid dates have been entered
If Not (IsDate(Date1)) Then Exit Function
If Not (IsDate(Date2)) Then Exit Function

'If necessary, swap the dates, to ensure that
'Date1 is lower than Date2
If Date1 > Date2 Then
dtTemp = Date1
Date1 = Date2
Date2 = dtTemp
booSwapped = True
End If

Diff2Dates = Null
varTemp = Null

'What intervals are supplied
booCalcHours = (InStr(1, Interval, "h") > 0)
booCalcMinutes = (InStr(1, Interval, "n") > 0)

'Get the cumulative differences

If booCalcHours Then
lngDiffHours = Abs(DateDiff("h", Date1, Date2)) - _
IIf(Format$(Date1, "nnss") <= Format$(Date2, "nnss"), 0, 1)
Date1 = DateAdd("h", lngDiffHours, Date1)
End If

If booCalcMinutes Then
lngDiffMinutes = Abs(DateDiff("n", Date1, Date2)) - _
IIf(Format$(Date1, "ss") <= Format$(Date2, "ss"), 0, 1)
Date1 = DateAdd("n", lngDiffMinutes, Date1)
End If

If booCalcHours And (lngDiffHours > 0 Or ShowZero) Then
If booCalcHours Then
varTemp = varTemp & IIf(IsNull(varTemp), Null, " ") & _
lngDiffHours & IIf(lngDiffHours <> 1, " saat", " hour")
End If
End If

If booCalcMinutes And (lngDiffMinutes > 0 Or ShowZero) Then
If booCalcMinutes Then
varTemp = varTemp & IIf(IsNull(varTemp), Null, " ") & _
lngDiffMinutes & IIf(lngDiffMinutes <> 1, " dakika", " minute")
End If
End If

If booSwapped Then
varTemp = "-" & varTemp
End If

Diff2Dates = Trim$(varTemp)

End_Diff2Dates:
Exit Function

Err_Diff2Dates:
Resume End_Diff2Dates

End Function


sorguda da

SQL Code
SaatFarki: Diff2Dates("hn",[İzin Başlama Saati],[Döneceği Saat])

şeklinde kullan

Her iki kodda yabancı bir siteden alıntıdı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. 

Kullanici Avatari

ercansahin

BlackEagle
Uzman
ER.... ŞA....
 44
 3.739
 69
 14/11/2008
 Ankara
 
 Ofis 2010 32 Bit
 03/03/2018,16:39
Çözüldü 
İnceleyin. Dönüş tarihini girdikten sonra hesaplar.


Ek Dosyalar
.rar   Veritabanı3_2011-12-22.rar(Dosya Boyutu: 27,88 KB / İndirme Sayısı: 26)

Kullanici Avatari

ercansahin

BlackEagle
Uzman
ER.... ŞA....
 44
 3.739
 69
 14/11/2008
 Ankara
 
 Ofis 2010 32 Bit
 03/03/2018,16:39
Çözüldü 
Ek güncellendi.. Küçük bir değişiklik nedeniyle..Img-grin



Kullanici Avatari

assenucler

Aktif Üye
Aktif Üye*
A..... SE.... ŞE....
 2.056
 125
 31/10/2008
63
 İstanbul
 
 -
 13/08/2018,19:49
Çözüldü 
Ercan üstadım günaydın ve hayırlı Cuma'lar...

Teşekkürler.



Kullanici Avatari

ercansahin

BlackEagle
Uzman
ER.... ŞA....
 44
 3.739
 69
 14/11/2008
 Ankara
 
 Ofis 2010 32 Bit
 03/03/2018,16:39
Çözüldü 
(23/12/2011 09:17)assenucler Adlı Kullanıcıdan Alıntı: Ercan üstadım günaydın ve hayırlı Cuma'lar...

Teşekkürler, size de..




Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Formdaki Tutarı Diğer Forma Aktarma haziran4 3 140 21/07/2018, 17:20
Son Yorum: haziran4
Çözüldü Bir Formu Kapatırken Diğer Formun Aynı Anda Açılması mmert06 17 433 11/07/2018, 18:00
Son Yorum: mmert06
Çözüldü Diğer Formdaki Butona Basmak sidd 8 261 22/05/2018, 14:26
Son Yorum: sidd
Çözüldü Gruplandırmak Ve Saydırmak alperadn01 12 335 08/05/2018, 21:13
Son Yorum: alperadn01
Çözüldü Formda Bir Ad Seçtiğimde Diğer Veri Otomatik Gelsin seckingbs 4 293 03/04/2018, 08:04
Son Yorum: seckingbs

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