Excel Hücrelerinin formatlama sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Excel Hücrelerinin formatlama sorunu

Mesaj gönderen NewMember »

Arkadaşlar sorunum şu.
Excelden firebirde ADO ile veri aktarımı yapıyorum.Ancak şöyle bir durum var.
Örneğin Ürün Numaralarının yazıldığı bir alan var.Firebird tablosunda bu alan varchar.Çünkü bu alanda hem nümerik hemde alfanümerik karakterler yer alıyor.

Örneğin şöyle bir şey.

UrunKodu
__________
bc398939
ac89398
98908
89890809
78667667

Şimdi adoquery excelden veri alırken bu alanı sayısal olarak görüyor.ve ac89398 ve ac89398 değerlerini almıyor null olarak benim tabloma atıyor.Excelden bu hücreleri biçimlendir diyerek Metin seçiyorum ama durum gene değişmiyor.
Verileri atarkende şu aşağıdaki değişik yöntemlerin hepsini denedim ama sonuç gene değişmedi.

Kod: Tümünü seç

while not DSImport.Eof do
begin
DM.IslemListesiDataset.Insert;
............................................................
............................................................
............................................................
............................................................

DM.IslemListesiDataset.FieldByName('URUNKODU').AsString:=DSImport.fieldbyname('URUNKODU').AsString;
............................................................
............................................................
............................................................
............................................................
DM.IslemListesiDataset.Post;
DSImport.Next;
end;

Kod: Tümünü seç

while not DSImport.Eof do
begin
DM.IslemListesiDataset.Insert;
............................................................
............................................................
............................................................
............................................................

DM.IslemListesiDataset.FieldByName('URUNKODU').Value:=DSImport.fieldbyname('URUNKODU').Value;
............................................................
............................................................
............................................................
............................................................
DM.IslemListesiDataset.Post;
DSImport.Next;
end;

Kod: Tümünü seç

while not DSImport.Eof do
begin
DM.IslemListesiDataset.Insert;
............................................................
............................................................
............................................................
............................................................

DM.IslemListesiDataset.FieldByName('URUNKODU').AsVariant:=DSImport.fieldbyname('URUNKODU').AsVariant;
............................................................
............................................................
............................................................
............................................................
DM.IslemListesiDataset.Post;
DSImport.Next;
end;

Sonra şöyle birşey denedim.

Full Convert Enterprise diye bir program ile bu excel tablosunu MSAccess ve Firebird DB ye convert ettirdim.
Sonuç bunlarda da aynı oldu.Bu programda Urunkodu alanını Accessde Float FB de de BIGINT olarak oluşturuyor.Ve bc398939 ve ac89398 değerlerini null olarak atıyor.Excel tablosuna girip bu alanı Metin olarak biçimlendirmeme rağmen.
Sonuç olarak bu alanda bazı satırlar sadece numerik karakterlerden oluşuyor diye bu alanlarıFloat ve ya BIGINT olarak görüyor.Çok tuhaf görünüyor ama sebebini anlayamadım.Yani tersi durum olsa anlayacağım.Yani string ifadeler içeren bir alanı float bir alana atmay a çalışsam tamam.Ama durum tamamen farklı.
Bu tür bir sorun acaba başınıza geldi mi?
Önerileriniz nedir?
Teşekkürler...
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Excel Hücrelerinin formatlama sorunu

Mesaj gönderen greenegitim »

bc398939 excelde ilk satırlarda bu kayıtlarmı var varise bunları en son satırlara taşıyıp denedinizmi b yi Hexadecimal olarak 11 görmüş olabilirmi acaba diye düşünüyorum.
Mücadele güzelleştirir!
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Excel Hücrelerinin formatlama sorunu

Mesaj gönderen NewMember »

Hayır.İlk satırlarda 3434234 gibi numaralar var...
zengin
Üye
Mesajlar: 233
Kayıt: 06 Ağu 2003 10:13

Re: Excel Hücrelerinin formatlama sorunu

Mesaj gönderen zengin »

s.a

excelden veri almak icin exceldeki secilen bir alan sayı veya isim beraber ise Text kullanın

Kod: Tümünü seç

DM.IslemListesiDataset.FieldByName('URUNKODU').Text:= DSImport.fieldbyname('URUNKODU').Text;
olarak deneyin sorununuz cözülecektir

kolay gelsin
Zengin
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Excel Hücrelerinin formatlama sorunu

Mesaj gönderen NewMember »

Teşekkürler.Olay budur.
Cevapla