21/03/2021, 19:56
21/03/2021, 20:36
Aklıma takılan 2 şeyi sorayım
1 - günler tablosundaki ay alanındaki sayılar o aydaki gün sayısından fazla olabilir mi?
Yani diyelim şubat ayındayız, şubat 28 gün, örneğin arif uz adlı kişi için Ay alanına 30 girilebilir mi?
2 - diyelim ki siz 40 yazmışsınız tüm gün satırlarının toplamının 40 olduğu ama hâlâ elde dağıtılması gereken sayı olabilir mi bu durumda ne yapılacak
1 - günler tablosundaki ay alanındaki sayılar o aydaki gün sayısından fazla olabilir mi?
Yani diyelim şubat ayındayız, şubat 28 gün, örneğin arif uz adlı kişi için Ay alanına 30 girilebilir mi?
2 - diyelim ki siz 40 yazmışsınız tüm gün satırlarının toplamının 40 olduğu ama hâlâ elde dağıtılması gereken sayı olabilir mi bu durumda ne yapılacak
21/03/2021, 21:15
1. - günler tablosunda ay alanındaki sayılar o ayda ki gün sayısından fazla olabilir. yani aynı kişiye çift randevu verilebilir.
2. - benim sorunumda burada ;gün satırlarında 1. günün toplamı 40 olduğunda 2.güne devam edecek toplan 40'a ulaştığında 3.gün...son güne kadar devam edecek.
son gün eksik olabilir çünkü kalan kadar olacak.
not: 40 rakamı sabit değil ;
2. - benim sorunumda burada ;gün satırlarında 1. günün toplamı 40 olduğunda 2.güne devam edecek toplan 40'a ulaştığında 3.gün...son güne kadar devam edecek.
son gün eksik olabilir çünkü kalan kadar olacak.
not: 40 rakamı sabit değil ;
22/03/2021, 14:51
aşağıdaki kodu dener misiniz?
ay sütununda 30dan büyük veri olmadığından çift döngülüyü deneyemedim
ay sütununda 30dan büyük veri olmadığından çift döngülüyü deneyemedim
Function GunDagit()
CurrentDb.Execute "DELETE FROM Günler"
SqlEkle = "INSERT INTO [günler] ([Tarih], [Grup No], [Ad Soyad],[Kota Ton],[Ay]) " & _
"SELECT Date(),[Grup No],[Adı ve Soyadı],[Kota Ton],[Eylül] FROM [eylül];"
CurrentDb.Execute SqlEkle
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("günler", dbOpenDynaset)
With rs
Do Until .EOF
RndSay = CInt(rs(7))
z = 7
GünDagit = 0
.Edit
Do While GünDagit < RndSay
z = z + 1
t = 1 'zMax=38
If z > 38 Then
z = 8
t = t + 1
End If
Mx40 = Nz(DSum("[" & z - 7 & "]", "günler"), 0)
If Mx40 < 40 Then
rs(z) = t
GünDagit = GünDagit + 1
End If
Loop
.Update
.MoveNext
Loop
End With
MsgBox "Posa Bölme İşlemi Tamamlanmıştır."
rs.Close
db.Close
End Function
22/03/2021, 18:01
Hocam elinize sağlık istediğim gibi olmuş.
Herşey için teşekkür ederim.
Kolay gelsin.
İyi günler dilerim.
Herşey için teşekkür ederim.
Kolay gelsin.
İyi günler dilerim.
22/03/2021, 19:10
açıkçası şöyle bir endişem var gün dağıtma işleminde; tüm sütunlar 40 olursa ve hâlâ elimizde dağıtılması gereken sayı varsa ne olacak?
henüz öyle bir durum için döngüden çıkılmasını sağlayacak kod eklenmemiştir
henüz öyle bir durum için döngüden çıkılmasını sağlayacak kod eklenmemiştir