Excelden Tabloya veri Ekleme yardım..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Excelden Tabloya veri Ekleme yardım..
Merhaba,,
Excelden tabloya veri aktarmayı yapabiliyorum fakar şöyle bir sıkıntı var
Resimdeki gibi alanlar mevcut ve ben bunları veritabanına çekerken A2 satırının kaydını aktardıktan sonra A3 ve A4 ün D3,D4 ve E3,E4 stunlarındaki bilgileri A2 de bulunan vergi kimlik numarası olan alana kaydetsin .Kodlarla yardımcı olabilirseniz memnun olurum şimdiden ilgi gösteren herkese teşekkürler,
Not: VergiNo,Vergi Dairesi ve ünvanı Table1. Alan1 ve Alan2 ise Table2'ye kayıt edilecektir.
Excelden tabloya veri aktarmayı yapabiliyorum fakar şöyle bir sıkıntı var
Resimdeki gibi alanlar mevcut ve ben bunları veritabanına çekerken A2 satırının kaydını aktardıktan sonra A3 ve A4 ün D3,D4 ve E3,E4 stunlarındaki bilgileri A2 de bulunan vergi kimlik numarası olan alana kaydetsin .Kodlarla yardımcı olabilirseniz memnun olurum şimdiden ilgi gösteren herkese teşekkürler,
Not: VergiNo,Vergi Dairesi ve ünvanı Table1. Alan1 ve Alan2 ise Table2'ye kayıt edilecektir.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Excelden Tabloya veri Ekleme yardım..
Yukarıdaki işlemi Accesste Veritabanı kullanarak yapıyorum. Bu konuda kodla olmasa da fikir verebilecek yok mudur acaba, kendim farklı yöntemler deniyorum ama kayıtları 2 farklı tabloya çekerek oradan filtreleme yaptırmak ama buda sıkıntı oluyor vergi numarası var ise "ALAN1" ve "ALAN2" nin değerlerini vergi noya bağlamak istiyorum hertürlü fikir ve görüşe açığım..
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Excelden Tabloya veri Ekleme yardım..
Selam;
Excel den veri çekmeyi bildiğinizi varsayıyorum.
Verileri satır satır okurken değişkenlere atın, mesela vergino,vergidairesi,unvan,alan1,alan2 dedik, ilk satırı okuduktan sonra gidip ilk tablonuzda bu vergi numarası varmı yokmu ona bakın, eğer yoksa ekleyin ve aynı zamanda 2. tabloyada 1. tablodaki vergino alanını referans vererek ünvanı,alan1 ve alan2 yi ekleyin,
2. satırı okuduğunuzda gidip 1. tabloda aynı vergi no varmı yokmu ona bakın, varsa 2. tabloya yukarıdaki şekilde diğer bilgileri ekleyin, yoksa yine yukarıdaki gibi sıfırdan oluşturup eklemeye devam edin.
Kısaca mantık bu olmalı, buna göre kodlayabilirsiniz.
Excel den veri çekmeyi bildiğinizi varsayıyorum.
Verileri satır satır okurken değişkenlere atın, mesela vergino,vergidairesi,unvan,alan1,alan2 dedik, ilk satırı okuduktan sonra gidip ilk tablonuzda bu vergi numarası varmı yokmu ona bakın, eğer yoksa ekleyin ve aynı zamanda 2. tabloyada 1. tablodaki vergino alanını referans vererek ünvanı,alan1 ve alan2 yi ekleyin,
2. satırı okuduğunuzda gidip 1. tabloda aynı vergi no varmı yokmu ona bakın, varsa 2. tabloya yukarıdaki şekilde diğer bilgileri ekleyin, yoksa yine yukarıdaki gibi sıfırdan oluşturup eklemeye devam edin.
Kısaca mantık bu olmalı, buna göre kodlayabilirsiniz.
Re: Excelden Tabloya veri Ekleme yardım..
Teşekkürler şuan dışarıdayım Eve gittiğimde deneyeceğim umarım becerebilirim
Re: Excelden Tabloya veri Ekleme yardım..
sanırım biraz karmaşık anlatmışsın yada ben tam anlayamadım. Biraz daha açıklayıcı yazarsan yardımcı olmaya çalışırım.
Amacınız kayıt filitrelemek mi , yoksa kayıt girişi yaparken excelden aldığınız bilgiyi birleştirmek ve yeni bir kayıt oluşturmakmı.
Amacınız kayıt filitrelemek mi , yoksa kayıt girişi yaparken excelden aldığınız bilgiyi birleştirmek ve yeni bir kayıt oluşturmakmı.
En son Lord_Ares tarafından 01 Tem 2013 07:21 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Re: Excelden Tabloya veri Ekleme yardım..
Yapılacak işlem şu Excel deki veriler tabloya aktarılırken ilk satırı aldıktan sonra 2 satırda aynı vergi numarası var ise 2. satırdan sadece alan1 ve alan2 deki bilgileri alıp ilk aldığı kayda eklemesini istiyorum.Lord_Ares yazdı:sanırım biraz karmaşık anlatmışsın yada ben tam anlayamadım. Biraz daha açıklayıcı yazarsan yardımcı olmaya çalışırım.
Amacınız kayıt filitrelemek mi , yoksa kayıt girişi yaparken excelden aldığınız bilgiyi birleştirmek ve yeni bir kayıt oluşturmakmı.
yani vergi numarasını arama yaptırdığında DBGrid1 de sadece 1 tane vergino unvan ve vergi dairesi bilgilerni göstersin DBGrid2 de ise alan1 ve alan2 de bulunan bilgilerini göstersin umarım anlatmışımdır..
Excelden aktarma yaparken VergiNo Ünvan ve Vergi Dairesi Bu bilgileri "MusteriKart" tablosuna aktarsak, "MusteriBilgi" tablosuna ise VergiNo,alan1 ve alan2 yi aktarsak 2. satıra geçtiğinde VergiNo yu "MusteriKart" tablosunda varmı yokmu kontrol etse yok ise ilk işlemi var ise sadece VergiNo,alan1 ve alan2 deki bilgileri "MusteriBilgi" tablosuna kaydetsek nasıl olur,
En son xozcanx tarafından 01 Tem 2013 07:35 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Excelden Tabloya veri Ekleme yardım..
Lord_Ares yazdı:sanırım biraz karmaşık anlatmışsın yada ben tam anlayamadım. Biraz daha açıklayıcı yazarsan yardımcı olmaya çalışırım.
Amacınız kayıt filitrelemek mi , yoksa kayıt girişi yaparken excelden aldığınız bilgiyi birleştirmek ve yeni bir kayıt oluşturmakmı.
Excelden tablo ya cekerken kontrol etmek istiyorum
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Excelden Tabloya veri Ekleme yardım..
Verdiginiz bilgiler için çok teşekkür ederim sonunda istediğim gibi oldu yarın paylaşımda bulunurum.esistem yazdı:Selam;
Excel den veri çekmeyi bildiğinizi varsayıyorum.
Verileri satır satır okurken değişkenlere atın, mesela vergino,vergidairesi,unvan,alan1,alan2 dedik, ilk satırı okuduktan sonra gidip ilk tablonuzda bu vergi numarası varmı yokmu ona bakın, eğer yoksa ekleyin ve aynı zamanda 2. tabloyada 1. tablodaki vergino alanını referans vererek ünvanı,alan1 ve alan2 yi ekleyin,
2. satırı okuduğunuzda gidip 1. tabloda aynı vergi no varmı yokmu ona bakın, varsa 2. tabloya yukarıdaki şekilde diğer bilgileri ekleyin, yoksa yine yukarıdaki gibi sıfırdan oluşturup eklemeye devam edin.
Kısaca mantık bu olmalı, buna göre kodlayabilirsiniz.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Excelden Tabloya veri Ekleme yardım..
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComObj, ExtCtrls, DB, DBTables, Grids,
DBGrids, ADODB;
type
TForm1 = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
BitBtn1: TBitBtn;
OpenDialog1: TOpenDialog;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
BitBtn2: TBitBtn;
Edit6: TEdit;
Panel6: TPanel;
Label1: TLabel;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
Edit7: TEdit;
Edit8: TEdit;
Panel8: TPanel;
Panel7: TPanel;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
GroupBox3: TGroupBox;
DBGrid2: TDBGrid;
MusteriKart: TADOTable;
MusteriBilgi: TADOTable;
DataSource2: TDataSource;
ADOTable1VergiNo: TWideStringField;
ADOTable1Unvan: TWideStringField;
ADOTable1KVade: TBCDField;
ADOTable1OVade: TBCDField;
ADOTable1UVade: TBCDField;
ADOTable1Donem: TDateTimeField;
ADOTable1VergiDairesi: TWideStringField;
MusteriKartVergiNo: TWideStringField;
MusteriKartUnvan: TWideStringField;
MusteriKartVergiDairesi: TWideStringField;
MusteriBilgiVergiNo: TWideStringField;
MusteriBilgiKVade: TBCDField;
MusteriBilgiOVade: TBCDField;
MusteriBilgiUVade: TBCDField;
MusteriBilgiDonem: TDateTimeField;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
procedure FormActivate(Sender: TObject);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
book:variant;
Excelfile,excel,sheet:variant;
satir, sutun:integer;
str:string;
mesaj:integer;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Edit6.Font.Color:=ClBlack;
Edit6.Color:=clWindow;
Edit6.Text:='';
excel := createOleObject('Excel.application');
OpenDialog1.Filter := 'Excel Dosyaları (*.xls)|*.xls';
if OpenDialog1.Execute then
Edit1.Text:=OpenDialog1.FileName;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if (Edit2.Text='') or (Edit3.Text='') or (Edit4.Text='') or (Edit5.Text='')then
mesaj:=Application.MessageBox('Lütfen Önce Satır ve Sütun Numaralarını girin...','UYARI')
else
begin
book:= Excel.WorkBooks.Open(Edit1.Text);
sheet := book.worksheets[1];
for satir:=StrToInt(Edit2.Text) to StrToInt(Edit3.Text)+1 do
begin
str := sheet.cells[satir, 2];
Edit6.Text := str;
Update;
ADOTable1.Append;
for sutun:=StrToInt(Edit4.Text) to StrToInt(Edit5.Text) do
ADOTable1.Fields[sutun-1].AsString :=sheet.cells[satir, sutun];
if ADOTable1VergiNo.Text = MusteriKartVergiNo.Text Then
Begin
MusteriBilgi.Insert;
MusteriBilgiVergiNo.Text :=ADOTable1VergiNo.Text;
MusteriBilgiKVade.Text :=ADOTable1KVade.Text;
MusteriBilgiOVade.Text :=ADOTable1OVade.Text;
MusteriBilgiUVade.Text :=ADOTable1UVade.Text;
MusteriBilgiDonem.Text :=ADOTable1Donem.Text;
end
else
Begin
MusteriKart.Insert;
MusteriKartVergiNo.Text :=ADOTable1VergiNo.Text;
MusteriKartUnvan.Text :=ADOTable1Unvan.Text;
MusteriKartVergiDairesi.Text :=ADOTable1VergiDairesi.Text;
MusteriBilgi.Insert;
MusteriBilgiVergiNo.Text :=ADOTable1VergiNo.Text;
MusteriBilgiKVade.Text :=ADOTable1KVade.Text;
MusteriBilgiOVade.Text :=ADOTable1OVade.Text;
MusteriBilgiUVade.Text :=ADOTable1UVade.Text;
MusteriBilgiDonem.Text :=ADOTable1Donem.Text;
End;
ADOTable1.post;
ADOTable1.Delete;
end;
Edit6.Color:=clMenuHighlight;
Edit6.Font.Color:=ClWhite;
Edit6.Text:='YÜKLEME TAMAMLANDI';
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Excel.quit;
Excel:=Unassigned;
end;
end;
procedure TForm1.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then
begin
if edit8.Text='' then
Begin
ShowMessage('Lütfen En Az Bir Rakam Giriniz!');
End
else
begin
MusteriKart.Filter:='VergiNo like '+'%'+Edit8.Text+'%';
MusteriKart.Filtered:=True;
if MusteriKart.Fields.Fields[1].Value= null then
showmessage('Adadığınız Vergi No Kayıtlarda Yok');
end;
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Edit8.SetFocus;
end;
procedure TForm1.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then
begin
if edit7.Text='' then
ShowMessage('Lütfen En Az Bir Harf Giriniz!')
else
begin
MusteriKart.Filter:='Unvan like '+'%'+Edit7.Text+'%';
MusteriKart.Filtered:=True;
if MusteriKart.Fields.Fields[1].Value= null then
showmessage('Adadığınız Firma Kayıtlarda Yok');
end;
end;
end;
end.
Merhaba Son Küçük Bir Nokta kaldı Sanırım, ilk Excel Dosyasındna Aktarımı yaptığımda Tam istediğim gibi Aktarımı yapıyor yalnız 2. defa diğer excel dosyasından verileri çekerken VergiNo,Unvan bilgilerinide çekiyor programda vergi no arattığımda 2 kayıt gösteriyor Ekteki dosyada Programın Bir örneği var.
http://s3.dosya.tc/server7/xSXFhE/EXEL.rar.html
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Excelden Tabloya veri Ekleme yardım..
Tekrardan Merhaba, Sorunu Hala Halledemedim, Çözüm önerisi olan
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Excelden Tabloya veri Ekleme yardım..
Selam;
programı inceledim, excel den veriyi okuduktan sonra adotable1. e append yapıyorsunuz fakat ona gerek yok, nasıl ki aşağıda arama bölümünde edit7 ve edit8 e girilen bilgileri filter ile çekiyorsanız, excelden satırı okuduktan sonra vergi no alanını gerçek tablonuzda filtreleyip sonucun null veya dolu olup olmadığını kontrol edin, eğer null ise bu vergi no yok demektir eğer null değil ise vergi no vardır demektir sizde ona göre işlem yaparsınız.
programı inceledim, excel den veriyi okuduktan sonra adotable1. e append yapıyorsunuz fakat ona gerek yok, nasıl ki aşağıda arama bölümünde edit7 ve edit8 e girilen bilgileri filter ile çekiyorsanız, excelden satırı okuduktan sonra vergi no alanını gerçek tablonuzda filtreleyip sonucun null veya dolu olup olmadığını kontrol edin, eğer null ise bu vergi no yok demektir eğer null değil ise vergi no vardır demektir sizde ona göre işlem yaparsınız.
Re: Excelden Tabloya veri Ekleme yardım..
Vermiş olduğunuz cevap için teşekkürler sorunumu hallettim eklenecek olan vergi numarasını ilk önce bir değere atadım ve onu kayıtlar da aratıyorum, bu şekilde çözdüm sorunumu çalışan halini tekrar paylaşırım.esistem yazdı:Selam;
programı inceledim, excel den veriyi okuduktan sonra adotable1. e append yapıyorsunuz fakat ona gerek yok, nasıl ki aşağıda arama bölümünde edit7 ve edit8 e girilen bilgileri filter ile çekiyorsanız, excelden satırı okuduktan sonra vergi no alanını gerçek tablonuzda filtreleyip sonucun null veya dolu olup olmadığını kontrol edin, eğer null ise bu vergi no yok demektir eğer null değil ise vergi no vardır demektir sizde ona göre işlem yaparsınız.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..