@zengin demiş ki... EXCEL VE ADO

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

@zengin demiş ki... EXCEL VE ADO

Mesaj gönderen mrmarman »

- Mail ile soru bildirilmemesi konusunda defalarca yineledik... Lütfen biraz daha anlayışlı olunuz...
zengin yazdı:merhaba delphiturkkiye.com üyeleri kıdemli üye kardeşimin kodları ile
exceldeki listemi acabiliyorum kendilerine cok teşekkür ederim bu kodları
açıkladıgı icin yalnız benim şu anda almış oldugum listenin kolanları cok uzun örnegin kolan genişligi 100 olsun istiyorum bukonuda bir yardım lütven birde ado ile daha önceden deneyimim olmadıgı icin birde arama kriteri icin ( örnek:adı veya parca No ) bu şekilde arayacak kod verirmisiniz lütven sizlere ve emegi gecen herkese
cok teşekkürler ederim saygılarımla kolay gelsin


Var
ExcelDosya : String;
begin
ExcelDosya := 'C:\LISTE.xls';
DataSource1.DataSet := AdoQuery1;
DBGrid1.DataSource := DataSource1;

AdoConnection1.LoginPrompt := False;
AdoConnection1.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ ExcelDosya + ';Extended properties=Excel 8.0';
AdoQuery1.Connection := AdoConnection1;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add( 'Select * from [Sayfa1$]');
AdoQuery1.Active := True;
end;

_________________
zengin
Resim
Resim ....Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Öncelikle bir Delphi kitabı alıp çalışmalarınızı temel kuralları öğrendikten sonra yapmanızı tavsiye ederim... :idea:

- Listenizi DBGrid1'de görüntülediğinizi varsayalım... Bir döngü ile bu column (kolonlar) değerlerini 100'e sabitleyebilirsiniz...

- Var satırını önce şu şekilde değiştirin...

Kod: Tümünü seç

Var 
  ExcelDosya : String; 
  Sayac : Integer;
Sonra da

Kod: Tümünü seç

AdoQuery1.Active := True;
...satırının altına gelip şu kodu ekleyin...

Kod: Tümünü seç

  For Sayac := 0 to DBGrid1.Columns.Count-1 do
  begin
    DBGrid1.Columns[Sayac].Width := 100;
  end;
- Buraya kadar olan kısım ekranda görünümü ayarlamak içindi...

Şimdi de arama kısmına gelelim...

- Forma, TEdit nesnesi koyun... Adı otomatikman Edit1 olacaktır...

Kod: Tümünü seç

AdoQuery1.SQL.Add( 'Select * from [Sayfa1$]'); 
satırının hemen altına şu kodları ekleyin...

Kod: Tümünü seç

  AdoQuery1.SQL.Add( 'Where Adi = :sorgu1');
  AdoQuery1.Parameters.paramByName('sorgu1').Value := Edit1.Text;
Böylece adı hanesinde Edit1 nesnesinde ne varsa bulunanları listeler...
Resim
Resim ....Resim
zengin
Üye
Mesajlar: 233
Kayıt: 06 Ağu 2003 10:13

ADO excel olayı

Mesaj gönderen zengin »

hocam bu kodlar güzel oldu teşekkür ederim fakat arama işlemi hata veriyor
edit icinde arıyorum normal Querydeki gibi aramada olmuyor
Adoguerye herhangi bir işlem yapmam gerekiyormu

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
Var
  ExcelDosya : String;
  Sayac : Integer;
begin
  ExcelDosya := 'C:\ADLAR.xls';
  DataSource1.DataSet := AdoQuery1;
  DBGrid1.DataSource  := DataSource1;
  AdoConnection1.LoginPrompt := False;
  AdoConnection1.ConnectionString :=
  'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ ExcelDosya + ';Extended properties=Excel 8.0';
  AdoQuery1.Connection := AdoConnection1;
  AdoQuery1.SQL.Clear;
  AdoQuery1.SQL.Add( 'Select * from [Sayfa1$]');
  AdoQuery1.Active := True;
  For Sayac := 0 to DBGrid1.Columns.Count-1 do
  begin
     DBGrid1.Columns[Sayac].Width := 100;
  end;
end;
Zengin
Cevapla