Otomatik İş Planı Tarihi

1 2
11/03/2016, 00:47

siyahca

Merhabalar

Bu kez zor bir sorum olacak
1-Yeni kayıt tıklayıp yeni ürün kayıdı tabloma eklemek istediğimde,
2-Çalışılacak hafta kutusunu otomatik kendisi haftaiçi tarihi olarak doldurmasını istiyorum.Ancak kural şöyle olmalı.
bu tarihi belirlerken;
(Ürünleri ben kayıt ederken zorluk derecesi verdim.basit-zor gibi.Bunlar tabiki tabloya 1-2-3-4 olarak kayıt ediliyor.)

Kural şu ; otomatik olarak bana çalışılacak hafta kutusuna ilk boş tarihi versin.Ancak verirken Bu tarih öncelikle Diğer aparat kısmındaki termin tarihlerinden önce olmamalı ve ikinci kuralda zorluk derecesi aynı gün içerisinde toplam 5 puanı geçmemeli.

Bu zor olayı nasıl çözebilirim.İlginize çok teşekkür ederim
11/03/2016, 06:01

ozanakkaya

"hafta kutusuna ilk boş tarihi versin"
Bu kısım haftanın ilk günü mü yoksa hafta içerisindeki herhangi bir gün mü? Ayrıca, örnek uygulamanıza 1-2 adet örnek veri kaydederek eklerseniz sorunuz daha kolay anlaşılır.
11/03/2016, 08:47

siyahca

(11/03/2016, 06:01)ozanakkaya yazdı: "hafta kutusuna ilk boş tarihi versin"
Bu kısım haftanın ilk günü mü yoksa hafta içerisindeki herhangi bir gün mü? Ayrıca, örnek uygulamanıza 1-2 adet örnek veri kaydederek eklerseniz sorunuz daha kolay anlaşılır.

Şöyle ki,

bir ürün var ve ben bunu form üzerinde kayıt ederken. Çalışılacak hafta kutusuna otomatik tarih atsın istiyorum.Yani bana işi yapacağım tarihi kendi yazsın (tabiki hafta içi olmalı).Ayrıca dediğim gibi diğer kurallarada uysun istiyorum.


Aslında aklıma bir fikir geldi. Sizlere danışmak isterim mantık olarak olabilirliğini ;

2016 ve 2017 yılının tüm iş günlerini bir tabloda tarih olarak yazıyım.
daha sonra ben formdan kayıt yaparken çalışılacak hafta kutusunu oradaki tarihlerden doldursun.Ama dediğim gibi diğer kuralları nasıl uygularız onu çözemedim.

tekrar merhaba,

2016-2017 tarihlerini tablo olarak ekledim.Bu tarihlerdende haftasonlarını ve resmi tatilleri çıkardım.Yani sadece iş günlerimiz kaldı.

Şimdi bu tablodaki takvimden tarihi almasını istiyorum.Ancak her günün maksimum 5 puan değeri olmalı.Puan derkende ürün zorluk derecesi (1-2-3-4) toplamını baz almalı.
12/03/2016, 04:49

ozanakkaya

Sayın siyahca, eklediğiniz son örneği kaldırdım. Yeni örneğinize veri girişi yapmamışsınız. İşlemin gerçekleşmesini istediğiniz formda veri girişi yaparak tabloya veri ekleyin. 2-3 veriye göre formu inceleyip gerekli kodu yazalım. Sonradan "şu eksik kaldı" olayı olmasın.

Ayrıca örnek uygulamanızı önce Access içerisinde sıkıştırın, sonra zipleyin. Son örneğiniz 35 mb. sıkıştırıp onarınca 2 mb'a düşüyor.
12/03/2016, 13:49

siyahca

(12/03/2016, 04:49)ozanakkaya yazdı: Sayın siyahca, eklediğiniz son örneği kaldırdım. Yeni örneğinize veri girişi yapmamışsınız. İşlemin gerçekleşmesini istediğiniz formda veri girişi yaparak tabloya veri ekleyin. 2-3 veriye göre formu inceleyip gerekli kodu yazalım. Sonradan "şu eksik kaldı" olayı olmasın.

Ayrıca örnek uygulamanızı önce Access içerisinde sıkıştırın, sonra zipleyin. Son örneğiniz 35 mb. sıkıştırıp onarınca 2 mb'a düşüyor.


merhaba ozan bey,

istediklerinizi yaptım.Dosyayı ekledim.

ilginiz ve desteğiniz için teşekkür ederim.
13/03/2016, 02:00

ozanakkaya

Yeni bir modül oluştur. Modüle aşağıdaki kodları ekle


Option Compare Database

Option Explicit

Function UygunIsGunu(GeciciTarih As Date, Zorluk As Integer) As Date


    Dim i As Long
    
    i = 1
    Do While i <= 3
        If Weekday(GeciciTarih) <> 1 And Weekday(GeciciTarih) <> 7 And Dsum ("[ZORLUK_PUAN]", "Tablo1", "CALISILACAK_HAFTA = " & Format(GeciciTarih, "\#mm\/dd\/yyyy\#")) + Zorluk <= 4 Then
        i = i + 1
        GeciciTarih = DateAdd("d", 1, GeciciTarih)
        Else
        Exit Do
        End If
    Loop

    Do While Weekday(GeciciTarih) = 1 Or Weekday(GeciciTarih) = 7 Or Dsum ("[ZORLUK_PUAN]", "Tablo1", "CALISILACAK_HAFTA = " & Format(GeciciTarih, "\#mm\/dd\/yyyy\#")) + Zorluk > 4
        GeciciTarih = DateAdd("d", 1, GeciciTarih)
    Loop

    UygunIsGunu = GeciciTarih
End Function

Modülü kaydet, 

Tarihi nasıl atayacağınızı bilmediğim için gerekli kodu yazamıyorum. Forma buton ekleyip tıklandığında olayına



Me.CALISILACAK_HAFTA = UygunIsGunu(Date, Çerçeve443)

yazarsan formdaki ilgili alana uygun tarihi ekler.
1 2