Grid Satır sayısı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Grid Satır sayısı
DB Grid de olan toplam satır sayısını nasıl alıyoruz..? Yada şöyle diyim.. DB deki verileri teker teker excel e aktaracağım....?
Selam.
- DBGrid'de gösterilen Table'ınızdın RecordCount'u size bu sonucu verir.
- Birden fazla DBGrid veya olay anında DBGrid Datasource değişikliği yaparak listenizi özelleştimeniz sözkonusuysa, dinamik olarak şunu deneyin.
- DBGrid'de gösterilen Table'ınızdın RecordCount'u size bu sonucu verir.
- Birden fazla DBGrid veya olay anında DBGrid Datasource değişikliği yaparak listenizi özelleştimeniz sözkonusuysa, dinamik olarak şunu deneyin.
Kod: Tümünü seç
Var
KayitSayisi : Integer;
begin
KayitSayisi := DBGrid1.DataSource.DataSet.RecordCount;
end;
- Table açacaksınız
- Excel'e yolla butonuna basınca da baştan sona bir döngü ile bunları yollayacaksınız.
Örnek Kod:
- Excel'e yolla butonuna basınca da baştan sona bir döngü ile bunları yollayacaksınız.
Örnek Kod:
Kod: Tümünü seç
// Uses'a Excel97 'yi ekleyin
Uses Excel97
Var
xExcel : Variant;
xRange : OleVariant;
Sayac : Integer;
begin
Table1.DisableControls; // İlşlem Sırasında Table'ımız donsun
xExcel := CreateOleObject('Excel.Application');
xExcel.Workbooks.Add(xlWBatWorkSheet);
xExcel.Workbooks[1].WorkSheets[1].Name := 'mcop@ada.net.tr';
// --- Başlıklar --- //
xExcel.Range[ 'A1','A1'].Value := 'Başlık 1'
xExcel.Range[ 'B1','B1'].Value := 'Başlık 2'
xExcel.Range[ 'C1','C1'].Value := 'Başlık 3'
Sayac := 1;
Table1.First;
While ( NOT Table1.EOF ) do
begin
Inc(Sayac);
// --- Bilgiler --- //
xExcel.Range[ 'A' + IntToStr(Sayac), 'A'+IntToStr(Sayac)].Value := #39 + Table1.Fields[0].AsString;
xExcel.Range[ 'B' + IntToStr(Sayac), 'B'+IntToStr(Sayac)].Value := #39 + Table1.Fields[1].AsString;
xExcel.Range[ 'C' + IntToStr(Sayac), 'C'+IntToStr(Sayac)].Value := #39 + Table1.Fields[2].AsString;
Table1.Next;
Application.ProcessMessages;
end; // While
xExcel.Visible := True; // Excel Gösterilir
Table1.EnableControls; // Table1'i dondurmuştuk eski haline geld
end;
Ayrı bir yöntem önermek istiyorum.
Önce Exel i aç.
Ordan
Veri->Dışverial->Yeni Veritabanı sorgusu
Ordan veridosyalarından query yardımı ile exele aktarmak istediğin verileri sql ie seç.
daha sonra sorguyu çalıştırdığın zaman exel otomatik olarak açılıp senin verilerini gösterecekdir.
Kullandığın veritabanına göre veritabanı sorgusunun ayarlaması değişik olabilir. O kısımda biraz araştırma yapman gerkecek. Ben PAradox uygulamada yaptım. Çalıştı. Ancak office2000 ve üzeri olması gerekli. Diğerlerinde exeli açıp veritabanı sorgusunuçalıştırman gerkiyor.(el ile) 2000 ve üzerinde veritabanı sorgu dosyasını exel ile ilişkilendirip(ki default olarak ilişkilendirilmiş oluyor) sorgu dosyasını winexec komutu ile çalıştırdığın zaman exel açılıp verilerini listeliyor.
iyi çalışmalar.
Önce Exel i aç.
Ordan
Veri->Dışverial->Yeni Veritabanı sorgusu
Ordan veridosyalarından query yardımı ile exele aktarmak istediğin verileri sql ie seç.
daha sonra sorguyu çalıştırdığın zaman exel otomatik olarak açılıp senin verilerini gösterecekdir.
Kullandığın veritabanına göre veritabanı sorgusunun ayarlaması değişik olabilir. O kısımda biraz araştırma yapman gerkecek. Ben PAradox uygulamada yaptım. Çalıştı. Ancak office2000 ve üzeri olması gerekli. Diğerlerinde exeli açıp veritabanı sorgusunuçalıştırman gerkiyor.(el ile) 2000 ve üzerinde veritabanı sorgu dosyasını exel ile ilişkilendirip(ki default olarak ilişkilendirilmiş oluyor) sorgu dosyasını winexec komutu ile çalıştırdığın zaman exel açılıp verilerini listeliyor.
iyi çalışmalar.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
- Sana yoladığım satırlarda sadece noktalıvirgül hataları varmış. Şimdi Delphi olan bir makinada denedim çalışıyor. Hatta son halini Copy/Paste yapayım sana
- Uses'a bir de ComObj istiyor onu da eklersin.
- Uses'a bir de ComObj istiyor onu da eklersin.
Kod: Tümünü seç
// Uses'a eklenecekler....
// Uses ComObj, Excel97
procedure TForm1.Button13Click(Sender: TObject);
Var
xExcel : Variant;
Sayac : Integer;
begin
Table1.DisableControls; // İlşlem Sırasında Table'ımız donsun
xExcel := CreateOleObject('Excel.Application');
xExcel.Workbooks.Add(xlWBatWorkSheet);
xExcel.Workbooks[1].WorkSheets[1].Name := 'mcop@ada.net.tr';
// --- Başlıklar --- //
xExcel.Range[ 'A1','A1'].Value := 'Başlık 1';
xExcel.Range[ 'B1','B1'].Value := 'Başlık 2';
xExcel.Range[ 'C1','C1'].Value := 'Başlık 3';
Sayac := 1;
Table1.First;
While ( NOT Table1.EOF ) do
begin
Inc(Sayac);
// --- Bilgiler --- //
xExcel.Range[ 'A' + IntToStr(Sayac), 'A'+IntToStr(Sayac)].Value := #39 + Table1.Fields[0].AsString;
xExcel.Range[ 'B' + IntToStr(Sayac), 'B'+IntToStr(Sayac)].Value := #39 + Table1.Fields[1].AsString;
xExcel.Range[ 'C' + IntToStr(Sayac), 'C'+IntToStr(Sayac)].Value := #39 + Table1.Fields[2].AsString;
Table1.Next;
Application.ProcessMessages;
end; // While
xExcel.Visible := True; // Excel Gösterilir
Table1.EnableControls; // Table1'i dondurmuştuk eski haline geld
end;
selamlar bende benzer bi iş yapıyordum, db-->excel bir component buldum
http://users.pandora.be/stefancr/Compon ... xcelExport
componente dataseti bağlıyor ve satır sütun renk ayarlarını falan yapıp create yapınca kendisi hallediyor.
(ben denedim ama kullanmadım. db tablo olayından vazgeçtim )
http://users.pandora.be/stefancr/Compon ... xcelExport
componente dataseti bağlıyor ve satır sütun renk ayarlarını falan yapıp create yapınca kendisi hallediyor.
(ben denedim ama kullanmadım. db tablo olayından vazgeçtim )