Merhabalar,
Elimde 10.000 kayıt ve 19 Sütundan oluşan bir liste var, kabaca arıza yapan cihaz(~35 çeşit), arıza tarihi(12 ay), müdahale tarihi, garanti durumu(3 çeşit) vs. bilgilerden oluşuyor. Bunun dönem dönem raporlanması ve grafiklendirilmesi gerekiyor. Kriterler, garanti durumuna göre cihazların hangi aylarda ne kadar arıza yaptığı şeklinde. Formüllerle çok uzun, karmaşık oluyor, dosya yavaşlıyor, bazen tutarsızlık oluyor, manuel kontrol uzun sürüyor vs. o yüzden makro ile bu işi yapmayı düşünüyorum. Belirli aralıklarla verileri özetleyip grafiklerini çizdirteceğim.
Asıl sorunum şu ki, bu işlemi hangi yöntemle yapmalıyım? Döngülerle bir sorgulama yaptığım zaman işlemler uzun sürüyor. Deneme amaçlı olarak dosyamı 1000 kayıda indirdim, 2 kritere göre (cihazların hangi ayda kaç tane arıza yaptığı) sorgulama 54 saniye sürdü. Bunun yerine ADO-DAO kullanmak daha mı mantıklıdır? Bu konuda bilgim az (biraz sql bilirim), o yüzden işe el atmadan önce sizden bir fikir almak istedim.
Daha önce benzer bir konu, Günün Sorusu şeklinde sormulmuş ( http://www.excel.web.tr/f142/veri-taban-305-ndan-se-231-ilen-kriterlere-t30754.html ) ama tam olarak istediğim yanıtı alamadım ve dosyalar maalesef daha yerine koyulamamış.
Soru biraz uzun oldu ama tam olarak anlatmak istedim. İlgilenenlere teşekkürler...
Not kullandığım kodlar şu şekilde:
Elimde 10.000 kayıt ve 19 Sütundan oluşan bir liste var, kabaca arıza yapan cihaz(~35 çeşit), arıza tarihi(12 ay), müdahale tarihi, garanti durumu(3 çeşit) vs. bilgilerden oluşuyor. Bunun dönem dönem raporlanması ve grafiklendirilmesi gerekiyor. Kriterler, garanti durumuna göre cihazların hangi aylarda ne kadar arıza yaptığı şeklinde. Formüllerle çok uzun, karmaşık oluyor, dosya yavaşlıyor, bazen tutarsızlık oluyor, manuel kontrol uzun sürüyor vs. o yüzden makro ile bu işi yapmayı düşünüyorum. Belirli aralıklarla verileri özetleyip grafiklerini çizdirteceğim.
Asıl sorunum şu ki, bu işlemi hangi yöntemle yapmalıyım? Döngülerle bir sorgulama yaptığım zaman işlemler uzun sürüyor. Deneme amaçlı olarak dosyamı 1000 kayıda indirdim, 2 kritere göre (cihazların hangi ayda kaç tane arıza yaptığı) sorgulama 54 saniye sürdü. Bunun yerine ADO-DAO kullanmak daha mı mantıklıdır? Bu konuda bilgim az (biraz sql bilirim), o yüzden işe el atmadan önce sizden bir fikir almak istedim.
Daha önce benzer bir konu, Günün Sorusu şeklinde sormulmuş ( http://www.excel.web.tr/f142/veri-taban-305-ndan-se-231-ilen-kriterlere-t30754.html ) ama tam olarak istediğim yanıtı alamadım ve dosyalar maalesef daha yerine koyulamamış.
Soru biraz uzun oldu ama tam olarak anlatmak istedim. İlgilenenlere teşekkürler...
Not kullandığım kodlar şu şekilde:
Kod:
For Cihaz = 2 To 36 'Cihaz Sayısı
Toplam = 0
Dim KacTane(13)
For i = 5 To SonSatir 'Verilerin sayısı, yaklaşık bin tane denedim
For Ay = 1 To 12
If IsDate(S1.Cells(i, "A").Value) Then
If S1.Cells(i, "H") = "Sözleşmeli" And S1.Cells(i, "K") = S2.Cells(Cihaz, "H").Value _
And Month(S1.Cells(i, "A").Value) = Ay Then KacTane(Ay) = KacTane(Ay) + 1
End If
Next
If S1.Cells(i, "H") = "Sözleşmeli" And S1.Cells(i, "K") = S2.Cells(Cihaz, "H").Value _
Then Toplam = Toplam + 1
Next
For i = 1 To 12
Sheets("Grafik Verileri").Cells(Cihaz + 1, i + 1).Value = KacTane(i)
Next
Sheets("Grafik Verileri").Cells(Cihaz + 1, "N").Value = Toplam
Erase KacTane()
Next
Bitis = Time
MsgBox "Sorgulama Süresi: " & Format(Bitis - Basla, "hh:mm:ss")
