Follow along with the video below to see how to install our site as a web app on your home screen.
Not: This feature may not be available in some browsers.
Eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Bereketli Sahurlar.
Üstadlardan aşağıdaki sorguyu ayrıntılı olarak açıklamalarını ( özellikle AS, LEFT JOIN, ON, ) ve başka bir dosyamıza uygulamak istersek dikka etmemiz gereken püf noktaları açıklamalarını rica edeceğim.
Şimdiden teşekkürler.
Saygılar.
sorgu = "SELECT CARIKART.ID, CARIAD, VD, VN, TELEFON, FAKS, ADRES, Sum(HAREKETLER.TUTAR) AS ToplaTUTAR,"
sorgu = sorgu & " HAREKETLER.KARTID FROM CARIKART LEFT JOIN HAREKETLER ON HAREKETLER.KARTID = CARIKART.ID"
Sn. @MESKO ekte ilişkilendirdiğim rar dosyasında 2 adet dosya mevcut.
-- 1.Çalışma yapacağımız veri çekeceğimiz dosyadır.
-- 2. ise kapalı olan veri çekilecek dosyadır.
-- Kapalı dosyada "Gelen", "Giden" adına 2 adet sayfa mevcuttur. Bu iki sayada ortak alan (Sütun) sadece "Sicil" alanı (Sütunu)'dır.
Gelen:
Giden:
Üsteki resimlerde görüldüğü gibi her iki sayfada ortak alan sadece Sicil alanı (Sütunudur) iki sayfayı birleştirirken bu alanı eşitlememiz gerekmektedir. Diğer alanlara (Sütunlara) baktığımızda diğer sayfalarda bulunmamaktadır. Her iki sayfada bulunan alanları çalışma sayfamıza çekeceğiz ayrıca Gelen sayfasındaki Aylık tutarı Giden...
Sn. @MESKO ekte ilişkilendirdiğim rar dosyasında 2 adet dosya mevcut.
-- 1.Çalışma yapacağımız veri çekeceğimiz dosyadır.
-- 2. ise kapalı olan veri çekilecek dosyadır.
-- Kapalı dosyada "Gelen", "Giden" adına 2 adet sayfa mevcuttur. Bu iki sayada ortak alan (Sütun) sadece "Sicil" alanı (Sütunu)'dır.
Gelen:
Giden:
Üsteki resimlerde görüldüğü gibi her iki sayfada ortak alan sadece Sicil alanı (Sütunudur) iki sayfayı birleştirirken bu alanı eşitlememiz gerekmektedir. Diğer alanlara (Sütunlara) baktığımızda diğer sayfalarda bulunmamaktadır. Her iki sayfada bulunan alanları çalışma sayfamıza çekeceğiz ayrıca Gelen sayfasındaki Aylık tutarı Giden sayfasında ki Borc tutarını birbirinden çıkartarak yeni bir alan (sütun) oluşturacağız (AYLIK-BORC=KALAN).
Ben kendi adıma yazayım.
-- ADO'da "LEFT JOIN" fonksiyonunu iki sayfayı (belli bir kritere göre de) birleştirmek için kullanıyorum. -- ON ile hangi alana (Sütun) göre eşitleneceği gösterilir.
-- AS fonksiyonu sorgu kodunda "Select * Form..." arasında belirtilen alan (sütun) isimlerine takma ad (değişken) koymak için kullanılır.
Örnek dosyamızda ki sorgu kodu:
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(2 satır)
Yukarıda sorgu kodunda gördüğü gibi kapalı dosyadaki sayfa isimleri bir nevi değişkene tanımlanmış S1-S2 şeklinde (zemin rengi gri olan) görünmekte.
Çalışma sayfamıza verileri çekerken alan (sütun) sıralamasını yaparken Sayfa isimlerini veya değişkenlerini yukarıdaki kodda görüldüğü gibi belirmek gerekiyor, sayfa adı belirtilmeyen alan sorgu kodundaki FROM dan sonraki belirtilen sayfada (birinci olan) ise hata vermez yani yukarıdaki sorgu kodundaki alanları belirtirken Gelen sayfasında bulunan alanların S1 diye belirtilmezse de olurdu ancak ON ile eşitlenecek alanı belirtirken kesinlikle kullanılmalıdır.
Yukarıda sorgu kodunda zemin rengi sarı olan yer üst taraflarda bahsettiğim yeni alan kısmıdır yani bu alan her iki sayfada bulunmamaktadır. Bu alan her iki sayfada ki tutarların birbirinde eksilmesidir (kalan borç, kalan ödeme şeklinde). Burada ki AS kodunun görevi bu alanı "KALAN" diye isimlendirmek. Eğer dosyadaki makro kodlarında devam ederek sütun başlıklarını da yazdıracak olsaydık bu alanı KALAN diye yazacaktı. ADO döngü kodunda bu alanı belirtirken RS("Kalan").value şeklinde olur. Başka bir deyiş ile Toplam adında alanımız olsun bunu sorgu kodunda "Select SUM(Toplam), COUNT(Toplam) From [Sayfa1$]" bu şekilde kullandığımızı varsayalım bu durumda ADO döngü de alan isimini belirtirken RS(0).value, RS.(1).value şeklinde kullana biliriz ama AS fonksiyonu ile bu alanlara yeni başlıklar verilebilir "Select SUM(Toplam) AS Top, COUNT(Toplam) AS Adet From [Sayfa1$]" bu kodda olduğu gibi. Varsayım olarak diyelim ki Sayfa adı ile alan isimlerinden bir aynı ise yani Sayfa adı Gelen ve sütun başlıklarında biride Gelen ise kodların hata verme olasılığı vardır bu durumda da AS fonksiyonunu kullanmak gereklidir.
Zaman kısıtlı olduğu için peyderpey yazdım ve bu yazdıklarımdan anlamanız için ADO biraz bilmeniz gerekmektedir. Ayrıca yazım hatası var ise Af ola.
Çok faydalı bilgiler verdiniz metehan üstadım. Arşivime ekleyip incelemeye başladım bile. Herkese yararlı olması dileğiyle.
Emeğinize sağlık. Çok teşekkürker Allah razı ola.
Bu site, içeriği kişiselleştirmek, deneyiminize uyarlamak ve kayıt olmanız durumunda giriş yapmanızı sağlamak için yasal düzenlemelere uygun çerezler (cookies) kullanır.
Bu siteyi kullanmaya devam ederek, çerez kullanımına izin veriyorsunuz.