Merhaba,
Yine ben bir soru ile rahatsız edeceğim.Programı yazarken takıldıkça size yeni bir tablo üretip hem arkadaşlara faydalı olmasını hem sitemizde örenkler kalmasını sağlıyorum.Hemde ben öğreniyorum.
Ek'li veritabanında forma tıklandığında isimleri random atamasını istiyorum.Fakat tuşla veya herhangi bir şeyle değilim form açıldığında.
Vardiyeyi Random Atama
Sayın BlueWall, muhtemelen örneğinize referans olabilecek içinde size faydalı olabilecek kodların bulunduğu bir VT ekliyorum. Umarım faydası olur. Kolay gelsin.
Hocam çok teşekkür ederim fakar sanırım bu örnekte raporlama için yol gösterilmiş.bu yol her bilgisayara uygun olmayabilir.Kodların sonucu Excel olarak çıkıyor ama exceli göremedim.Bu yüzden zahmet etmişsiniz ama benim verdiğim örenkteki olay rnd komutu kullanımı sanırım ama rnd komutu için tam bir açıklayıcı örenk bulamadım.Rnd'yi sürekli rakam ile oyun türü şeyler yazarken kullanmışlar.
Merhaba,
Formun geçerli olduğunda olayına aşağıdaki kodu ekle
Kodlar arasına açıklama eklenmiştir.
Formun geçerli olduğunda olayına aşağıdaki kodu ekle
Dim EnBuyukKimlik As Integer
EnBuyukKimlik = DMax("Kimlik", "Calisanlar")
'Int((EnBuyukKimlik - 1 + 1) * Rnd + 1) rastgele sayi
Do Until Len(Vardiya_1_Adi) <> 0
Vardiya_1_Adi = Dlookup ("Calisan_Adi", "Calisanlar", "[Kimlik] = " & Int((EnBuyukKimlik - 1 + 1) * Rnd + 1) & " And [Teknik] = -1")
Loop
' vardiya_1 getir
Do Until Len(Vardiya_2_Adi) <> 0 And Vardiya_1_Adi <> Vardiya_2_Adi
Vardiya_2_Adi = Dlookup ("Calisan_Adi", "Calisanlar", "[Kimlik] = " & Int((EnBuyukKimlik - 1 + 1) * Rnd + 1) & " And [Teknik] = -1")
Loop
' vardiya_2 getir
Do Until Len(Bakim_1_isim) <> 0
Bakim_1_isim = Dlookup ("Calisan_Adi", "Calisanlar", "[Kimlik] = " & Int((EnBuyukKimlik - 1 + 1) * Rnd + 1) & " And [Bakım] = -1")
Loop
'bakım getir
If Vardiya_1_Adi = Bakim_1_isim Or Vardiya_2_Adi = Bakim_1_isim Then
Do Until Vardiya_1_Adi <> Bakim_1_isim And Vardiya_2_Adi <> Bakim_1_isim
Bakim_1_isim = Dlookup ("Calisan_Adi", "Calisanlar", "[Kimlik] = " & Int((EnBuyukKimlik - 1 + 1) * Rnd + 1) & " And [Teknik] = -1")
Loop
End If
'bakım, vardiya 1 veya vardiya2 ile eşitse yenile
Kodlar arasına açıklama eklenmiştir.
Hocam çok sağolun bu komut tam anlamıyla istediğim komut fakat listede 30 çalışan var ve bölümlerde 3 ten fazlaysa if değerinin her variyantaını giriyorum ama yine aynı isimde olanlar çıkıyor 4 bölüm bile olsa.Orada sanırım bütün olasılıkları yazmak mı gerekiyor yoksa onunda kolay bir yolu var mı?
Not: Hocam süpersin
Not: Hocam süpersin
Düzeltilmiş hali ek'tedir.
Konuyu Okuyanlar: 2 Ziyaretçi