AccessTr.neT
Access Te Aylık Gün Dağıtımı Yapmak İstiyorum Bir Türlü Yapamadım. - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Access Te Aylık Gün Dağıtımı Yapmak İstiyorum Bir Türlü Yapamadım. (/konu-access-te-aylik-gun-dagitimi-yapmak-istiyorum-bir-turlu-yapamadim.html)

Sayfalar: 1 2 3


RE: Access Te Aylık Gün Dağıtımı Yapmak İstiyorum Bir Türlü Yapamadım. - isouysal - 21/03/2021

Teşekkür ederim.
İşime çok yarayacak.Bekliyorum.


RE: Access Te Aylık Gün Dağıtımı Yapmak İstiyorum Bir Türlü Yapamadım. - berduş - 21/03/2021

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


RE: Access Te Aylık Gün Dağıtımı Yapmak İstiyorum Bir Türlü Yapamadım. - isouysal - 21/03/2021

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 ;


RE: Access Te Aylık Gün Dağıtımı Yapmak İstiyorum Bir Türlü Yapamadım. - berduş - 22/03/2021

aşağıdaki kodu dener misiniz?
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



RE: Access Te Aylık Gün Dağıtımı Yapmak İstiyorum Bir Türlü Yapamadım. - isouysal - 22/03/2021

Hocam elinize sağlık istediğim gibi olmuş.
Herşey için teşekkür ederim.
Kolay gelsin.
İyi günler dilerim.


RE: Access Te Aylık Gün Dağıtımı Yapmak İstiyorum Bir Türlü Yapamadım. - berduş - 22/03/2021

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