29 Mayıs 2014 Perşembe

Crystal Report İçin Rapor Görüntüleyici (SQL)

Merhaba arkadaşlar.

Crystal Report dosyalarını önizleme yapabilmek için ya programın kendisini kurmalıyız ya da arayüz yardımıyla önizleme yapmalıyız. Bu işe yarayan arayüzü sizlere tanıtacağım.

Arayüzümüz bilgisayarımda c nin içine ReportViewer adında bir klasör oluşturuyor ve bu klasörün içinde BağlantıVerileri adında bir text dosyası oluşturuyor. Text dosyası mevcut değilse aşağıdaki uyarıyı verip, yeni dosyayı oluşturmak için bilgilerin girileceği ekranıa açıyor.
Bu ekrandan sonra bilgilerin girileceği ekran şöyle.
Bu ekrandaki alanları biraz açıklayalım. Server ID veritabanı bağlantı id niz. Kendi bilgisayarınızdaki SQL veritabanına bağlanacaksanız bu alana "." sadece nokta yazarak veya "(local)" yazarak geçebilirsiniz. Veritabanı ise raporlar hangi veritabanından veri çekiyorsa o veritabanının adını yazmalısınız. Kullanıcı adı ve şifre SQL kullanıcı adı ve şifresidir. Son olarak raporlarınızı hangi klasörde tutuyorsanız o klasörün adını yazacağınız alan. Bu bilgileri kaydet dedikten sonra program açılıyor.
Bu resimde ben kendi bilgilerimi girdikten sonra oluşan rapor listesi. Bu listedeki raporu seçip "Önizleme" tuşuna basarak veya rapora çift tıklayarak önizleme yapabilirsiniz. Önizleme ekranı ise şöyle.

Bu progamı kullanırken CrystalDesicion ile ilgili hatalar alabilirsiniz. Bu hataları gidermek için aşağıda vereceğim yamaları yüklemelisiniz, eğer yükledikten sonra da hata devam ederse o zaman Crystal Report Runtime yamasını kurmanız gerekir.



Soru, öneri istekleriniz için messad@yandex.ru mail adresinden bana ulaşabilrisiniz.

14 Şubat 2014 Cuma

Excel Makro İle Çalışma Kitapları Arası Veri Aktarımı

Merhaba arkadaşlar.

Bugün Excelde iki çalışma kitabı arasında veri aktarımını anlatacağım.

Yukardaki şekilde görülen çalışma kitabı verilerimizin olduğu kitap. Gördüğünüz gibi 46616 satır veri var. Bu veriler üzerinde manuel olarak işlem yapmak tam bir işkencedir. Makro sayesinde yapacağınkız işlemi hatasız ve çok kısa bir sürede yapmak çok kolay.
Bu veri sayfasından 0 dan farklı verileri alt alta diğer bir çalışma kitabına aktarmak istiyoruz.
Şimdi kodları yazmaya başlayalım.

Şimdi kodları biraz açıklayalım. En üst ve en alt satır standart makro satırları. 2. satırda kk adında bir değişken tanımladık bu alt alta veri yazdıracağımız çalışma kitabı satırlarını kontrol entmek için oluşturduğumuz değişken. Ardından iki tane for döngüsü tanımladık bunlardan ilki 2-46616 arasında dönüyor bu bizim satır numaramuzı temsil ediyor. İlk resimdeki çalışma kitabında da görüldüğü gibi satır sayısı 46616 dır ve veriler 2. satırdan itibaren başlıyor. 2. for döngüsü sütunlarımızı temsil ediyor. Toplam 13 sütun bulunduğu için 1-13 arasında dönüyor.
Sonra her hücrede if sorgusuyla 0 dan farklı olup olmadığını kontrol ediyoruz. 0 dan farklıysa BüyükKitap  adlı diğer çalışma kitabının 1. sütun ve kk. satırına vieriyi yazdırıyoruz. Her yazdırmadan sonra bir alt satıra geçmesi için de kk değerini 1 artırıyoruz. Döngüleri kapattıktan sonra Makroyu çalıştırabiliriz. Burada dikkat edilmesi gereken en önemli nokta makro çalışırken hangi excel sayfasının aktif olacağıdır.
Biz verilerin olduğu kitap sorgulama yapıp kriterlere uygun verileri diğer kitaba yazdırdığımız için verilerin olduğu kitap aktif haldeyken makroyu çalıştırmalıyız.

25 Aralık 2013 Çarşamba

Excelde Fonksiyon Yazma (Makro)

Merhaba arkadaşlar.
Bu yazıda excel içinde nasıl fonksiyon yazacağımızı anlatacağım. Excel zaten kendi içinde birçok fonksiyona sahip ama istersek biz de bunlara ilave olarak yazabiliyoruz.
Öncelikle kod yazılan kısma resimdeki gibi bir yordam açıyoruz. Burada sadece SPLIT1 bölümü ve parantezin içi sizin değiştirebileceğiniz bölümdür, diğerleri standart. Parantezin içi seçeceğiniz hücreyi temsil eder. O alanı boş bırakırsanız fonksiyona excel hücrelerinden veri alamazsınız. Bu işlemlerden sonra içeriği ne yapmak istiyorsanız ona göre dolduracaksınız. Ben hücre değerini belli bir ayıraca göre parçalayıp onun ilk parçasını aldıracağım.

Bu kodları kısaca anlatacağım. Önce string bir dizi olan parca() değişkenimizi tanımlıyoruz. Sonra bunu Split komutu yardımıyla parçalanan hücre değerlerine eşitliyoruz. Parçalama (/) karakterine göre yapılıyor. Siz istediğiniz karakteri yazabilirsiniz. En son adım fonksiyon ismini bir değere eşitlemek. Bunu yapmazsanız fonksiyon yazdığınız hücreye değer gelmez. parca(0) ifadesi parçalanmış hücre değerinin ilk parçası anlamına gelir parca(1) olursa ikinci parça anlaşılır. Burada parçalanan hücre değeri iki parçaya ayrılmıyor ve siz parca(1) değerini almaya çalışıyorsanız, fonksiyon yazdığınız hücrede #DEĞER! diye bir yazı gelir.

Böylece excel içinde olmayan bir fonksiyonu yazmış olduk. Bu fonksiyonu excel eklentisi olarak kaydedip başka kullanıcılara da yükleyebilirsiniz.
Sormak istediğiniz birşey olursa messad@yandex.ru adresine e-posta atabilirsiniz, elimden geldiğince yardımcı olmaya çalışırım.








11 Mart 2013 Pazartesi

Excel Makro Sayfalar Arası Aktarım

Merhaba arkadaşlar.
Bugün makroda tekrarlanan işleri kolaylaştıran bazı uygulama örneklerini göstereceğim.

Örneğin excelde alt alta sıralanmış 1500 satır veri var ve siz bu verilerin 4 ve katlarındaki sırada olanlarını seçmek istiyorsunuz. Bunu el ile yapmak mümkün ama pek akıl kârı iş değil.

Böyle bir sayfa 1956 satır devam ediyor. 4 ve katlarını seçip diğer sayfaya yapıştıralım. Bu işlemin kodlarını hafızadan yazabilirsiniz ama daha kolay yolu var. Excel yaptığınız işlmelerin kodlarını kaydedebilir ve siz hazır kodları düzenleyerek işinizi halledebilirsiniz. Makro Kaydet tuşuna basarak işlem yapalım ve kodlara bakalım.
Resimdeki işaretli tuşa basıp yaptığınız işlemlerin kod satırları makro kısmında kaydedilir. Şimdi bu tuşa basıp ilk satırı kesip Sayfa2 ye ilk satıra yapıştırıp kodlarına bakacağım.
Bu kod satırlarında ilk satır Sayfa1 deki seçtiğimiz alanın kod karşılığıdır, ikinci satır seçtiğimiz alanı kestiğimizi gösterir. Bunlardan sonra Sayfa2 ye geçiren kod satırı geliyor ve seçili hücreden başlayarak yapıştıran kod satırıyla makro bitiyor.
Bu makroda düzenleme yapılmazsa her çalıştırıldığında hep aynı işi yapar ama bizim istediğimiz bu değil onun için kod satırlarında oynama yapacağız.


For k = 4 To 1956 Step 4
    Range("A" & k & ":" & "R" & k).Select
    Selection.Cut
    Sheets("Sayfa2").Select
    Range("A" & k / 4).Select
    ActiveSheet.Paste
    Sheets("Sayfa1").Select
Next


Oynama yapılan kod satırları böyle.Şimdi ne yaptığımı anlatacağım.
4. satırdan 1956. satıra kadar for döngüsüne alıyoruz ve 4 er 4 er artırıyoruz. İlk satırda 4'ün katları olan satırları seçtiriyoruz, 2.satırda seçilen satırı kestiriyoruz,3.satırda 2.sayfaya geçiyoruz 2.sayfada k/4 diyerek seçtiğimiz satırların teker teker artmasını sağlıyoruz, sonra seçtiğimiz hücreye yapıştırıyoruz ve en can alıcı nokta olarak tekrar Sayfa1 e geçiyoruz. Bu çok önemli çünkü Sayfa1'e tekrar geçmezsek makro ilk işlemden  hep boş hücreler yapıştırır çünkü seçtiği satırlar Sayfa2 den seçilir ve Sayfa2 de hiç bir veri yoktur.
Makroyu çalıştırdığımızda Sayfa2 aynen şöyle olacaktır.
Örnek Excel sayfasını buradan indirebilirsiniz. Hepinize kolay gelsin.