• Bir süredir maillerde yaşanan sorunlar giderilmiştir. Şifremi unuttum yaparak şifrelerinizi mailinizden alabilirsiniz.

  • Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü rs.GetRows yöntemi (Çoklu koşul)

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

ERDAL

Bronz Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
3 Nis 2021
Mesajlar
244
Çözümler
1
Aldığı beğeni
43
Excel V
Office 2013 TR
Konuyu Başlatan
Merhaba Arkadaşlar;

ADO rs.GetRows yöntemi ile öğrenci sayılarını kurum bilgilerine aktarıyorum. Daha önce Refaz Hocamın yardımlarıyla bu yöntemi başka amaçlı kullandım. Kendisine yardımlarından dolayı teşekkür ederim.
Bu yöntemi öğrenci sayılarını aktarmada kullandığımda bir noktada tıkandım. Yapmak istediğim; Eğer kaynak dosyadaki kurum kodu ile hedef dosyadaki kurum kodu eşitse ve kaynak dosyadaki Eğitim_Kadamesi_2 hedef dosyadaki Eğitim_Kadamesi_2'e eşitse öğrenci sayılarını ilgili kurumun karşısına getirmek. Burada kaynak dosyadaki Eğitim_Kadamesi_2 hedef dosyadaki Eğitim_Kadamesi_2' ne eşitse kasımını yapamadım. İlgili kod üzerinde de açıklamaya çalıştım.

Yardımlarınız için şimdiden teşekkür ederim.

Kod;
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Kurum Bilgileri (Hedef).xlsb
    26 KB · Gösterim: 6
  • Öğrenci_Sayıları (Kaynak).xlsb
    97.6 KB · Gösterim: 5
Çözüm
Merhaba Arkadaşlar;

ADO rs.GetRows yöntemi ile öğrenci sayılarını kurum bilgilerine aktarıyorum. Daha önce Refaz Hocamın yardımlarıyla bu yöntemi başka amaçlı kullandım. Kendisine yardımlarından dolayı teşekkür ederim.
Bu yöntemi öğrenci sayılarını aktarmada kullandığımda bir noktada tıkandım. Yapmak istediğim; Eğer kaynak dosyadaki kurum kodu ile hedef dosyadaki kurum kodu eşitse ve kaynak dosyadaki Eğitim_Kadamesi_2 hedef dosyadaki Eğitim_Kadamesi_2'e eşitse öğrenci sayılarını ilgili kurumun karşısına getirmek. Burada kaynak dosyadaki Eğitim_Kadamesi_2 hedef dosyadaki Eğitim_Kadamesi_2' ne eşitse kasımını yapamadım. İlgili kod üzerinde de açıklamaya çalıştım.

Yardımlarınız için şimdiden teşekkür ederim.
...
Merhaba Arkadaşlar;

ADO rs.GetRows yöntemi ile öğrenci sayılarını kurum bilgilerine aktarıyorum. Daha önce Refaz Hocamın yardımlarıyla bu yöntemi başka amaçlı kullandım. Kendisine yardımlarından dolayı teşekkür ederim.
Bu yöntemi öğrenci sayılarını aktarmada kullandığımda bir noktada tıkandım. Yapmak istediğim; Eğer kaynak dosyadaki kurum kodu ile hedef dosyadaki kurum kodu eşitse ve kaynak dosyadaki Eğitim_Kadamesi_2 hedef dosyadaki Eğitim_Kadamesi_2'e eşitse öğrenci sayılarını ilgili kurumun karşısına getirmek. Burada kaynak dosyadaki Eğitim_Kadamesi_2 hedef dosyadaki Eğitim_Kadamesi_2' ne eşitse kasımını yapamadım. İlgili kod üzerinde de açıklamaya çalıştım.

Yardımlarınız için şimdiden teşekkür ederim.
Deneyiniz
Her 2 koşula uygunsa verileri çeker ve yazar. yol = "C:\Users\ERDAL\OneDrive\Masaüstü\DENEME\Öğrenci_Sayıları (Kaynak).xlsb" Kısmını kendi bilgisayarınızda bulunan dosya yolu ile değiştiriniz.
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Öğrenci_Sayıları (Kaynak).xlsb
    97.6 KB · Gösterim: 4
  • Kurum Bilgileri (Hedef).xlsb
    30.7 KB · Gösterim: 4
  • kayıt.gif
    kayıt.gif
    422.6 KB · Gösterim: 4
Çözüm
Hocam teşekkür ederim. Elinize emeğinize sağlık.

Hocam konuyu anlamak için birkaç sorum olacak.
ws.Cells(i + 1, "V").Value = dic(key)(0) 'Erkek
Burada Erkek öğrenci '' (0)da, ama Sorguda " SELECT [KURUM_KODU], [EĞİTİM_KADEMESİ2], Sum([ERKEKÖĞRENCİ]) 2. sırada
neye göre (0)


Hocam birde;
If Err.Number <> 0 Then
Debug.Print "Hata: " & Err.Description & " - Satır: " & i & " - Kurum Kodu: " & dizi(i, 1) & " - Eğitim Kadamesi_2: " & dizi(i, 10)
Err.Clear
On Error GoTo 0
End If
Bu bölümdeki hata kontrolünü anlayamadım. kullanmasak olur mu
 
[KURUM_KODU], [EĞİTİM_KADEMESİ_2]

SELECT [KURUM_KODU], [EĞİTİM_KADEMESİ_2]

Merhaba.
Sonuç doğru çıktıysa sorun yok ama bende üstadın yaptığı yöntemi uygulayacaktım ve kurum kodu ve eğitim2 olan yer gruplandırılmış olarak sonuç geldiği için yanlış olur diye bırakmıştım.
Sadece meraktan soruyorum abey sonuçlar doğrumu?
 
Alternatif,deneyin
 

Ekli dosyalar

  • Kurum Bilgileri (Hedef).xlsb
    26.3 KB · Gösterim: 3
Merhaba.
Sonuç doğru çıktıysa sorun yok ama bende üstadın yaptığı yöntemi uygulayacaktım ve kurum kodu ve eğitim2 olan yer gruplandırılmış olarak sonuç geldiği için yanlış olur diye bırakmıştım.
Sadece meraktan soruyorum abey sonuçlar doğrumu?
Merhaba,
Hocam teşekkür ederim. Sonuçlar doğru . Fakat bazı kavrayamadığım kısımları sorup anlamak istedim.
 
Merhaba,
Hocam teşekkür ederim. Sonuçlar doğru . Fakat bazı kavrayamadığım kısımları sorup anlamak istedim.
Rica ederim.
Üstad açıklamaları yapar.Ama debug.print olan satırlar silinmesi gerek.Unutmuş galiba.
 
Alternatif,deneyin
Ali Hocam Teşekkür ederim. Elinize emeğinize sağlık.
Hocam gerçek raporlar en az 40-50 bin satır olduğundan rs.GetRows kullanarak bu sorunu çözmeye çalışıyordum.
Kodunuzu denedim. Örnek tabloda sorun yok fakat gerçek tabloda verileri eksik getiriyor.

Hocam birde;
If rs("EĞİTİM_KADEMESİ_1") = "ORTAOKUL" And Application.CountIf(Columns(1), rs("KURUM_KODU")) = 2 Then
Bu kısmın açıklamasını tam olarak anlayamadım.
 
Hocam teşekkür ederim. Elinize emeğinize sağlık.

Hocam konuyu anlamak için birkaç sorum olacak.
ws.Cells(i + 1, "V").Value = dic(key)(0) 'Erkek
Burada Erkek öğrenci '' (0)da, ama Sorguda " SELECT [KURUM_KODU], [EĞİTİM_KADEMESİ2], Sum([ERKEKÖĞRENCİ]) 2. sırada
neye göre (0)


Hocam birde;
If Err.Number <> 0 Then
Debug.Print "Hata: " & Err.Description & " - Satır: " & i & " - Kurum Kodu: " & dizi(i, 1) & " - Eğitim Kadamesi_2: " & dizi(i, 10)
Err.Clear
On Error GoTo 0
End If
Bu bölümdeki hata kontrolünü anlayamadım. kullanmasak olur mu
sql = " SELECT [KURUM_KODU], [EÐÝTÝM_KADEMESÝ2], Sum([ERKEKÖÐRENCÝ])

Array(CStr(arrKod(2, k)), CStr(arrKod(3, k)), CStr(arrKod(4, k)), CStr(arrKod(5, k)))



dic(key)(0) array içindeki ilk cstr olan.Array içindeki ilk cstr ise sql içindeki sum olan
 
Hocam teşekkür ederim. Elinize emeğinize sağlık.

Hocam konuyu anlamak için birkaç sorum olacak.
ws.Cells(i + 1, "V").Value = dic(key)(0) 'Erkek
Burada Erkek öğrenci '' (0)da, ama Sorguda " SELECT [KURUM_KODU], [EĞİTİM_KADEMESİ2], Sum([ERKEKÖĞRENCİ]) 2. sırada
neye göre (0)


Hocam birde;
If Err.Number <> 0 Then
Debug.Print "Hata: " & Err.Description & " - Satır: " & i & " - Kurum Kodu: " & dizi(i, 1) & " - Eğitim Kadamesi_2: " & dizi(i, 10)
Err.Clear
On Error GoTo 0
End If
Bu bölümdeki hata kontrolünü anlayamadım. kullanmasak olur mu
Düzenlendi

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • çalışıyorsadokunma.gif
    çalışıyorsadokunma.gif
    35.7 KB · Gösterim: 5
Hocam Merhaba,
Korum kodu ve eğitim kademesi eşitliğinin olduğu kod bloğu neresi
 
Hocam Merhaba,
Korum kodu ve eğitim kademesi eşitliğinin olduğu kod bloğu neresi
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Bu kısımda kurum kodu ve eğitim kademesi eşitliğini kontrol eder ve eşitlik sağlandığında ilgili verileri atar. Satırlar için bir key oluşturuyor, kurum kodu ve eğitim kademesi değerlerinin birleştirilmesiyle oluşan key' e göre sözlükte anahtar mevcutsa bulduğu değeri uygun hücreye yazıyor.
 
Kodlara mobilden batım hocam.Şartlqr açık sayfadanda olacak onlar yok yada ben bilmiyorum.
İlk eklenen kodları incelerseniz belli oluyor zaten.Neyse kolay gelsin.
 
Oooooooo hangi yayladasın yada ne kadar kuzey kutbuna yakınsın.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst