Selamlar saygılar. Mssql serverdaki bilgileri edit lere ordanda notepad e yazmalıyım ama yazılacak alanların notepad üzerinde ben belirlemeliyim yani stok_kodu alanındaki bilgiler text dosyanın 20. sutununa stok_adı alanındaki bilgiler 30. sutuna diye sıralamalıyım. Sonuç itibarı ile sayın abilerim benim istediğim, bilgiler mssqlden editler içine alınıyor, tek tek sonra bu secilenler access a aktarılıyor access dan not defterine aktarıyorum su kod ile
var
Sayac : Integer;
S : String;
begin
Sayac := 0;
S := '';
JvRichEdit1.Clear;
ADOTable1.Close;
ADOTable1.Open;
ADOTable1.First;
While not ADOTable1.Eof do
begin
S := ' ';
For Sayac := 0 to ADOTable1.Fields.Count -1 do
begin
S := S+ ADOTable1.Fields[sayac].Text + ' ';
End;
ADOTable1.Next;
JvRichEdit1.Lines.Add(S);
End;
JvRichEdit1.Lines.SaveToFile('.\xxx.ftx');
end;
ama benim istediğim sey bu not defterine stok adı 1. satır 20. sıra stok kodu 1. satır 30. sıra satıs fiyatı1 1. satır 40. sıra diye dongusel bir sey kurmak yani tek tek boyle tanımlamayacam access dan her gelen kayıt bir sonraki satırda ilgili sıralarda olacak. Saygılar yardımlarınız için tesekkurler.
S := S+ copy(ADOTable1.Fields[sayac].Text + ' ',1,30);
Burada her field aynı uzunlukta yer kaplayacaksa sorun yok ama eğer hepsinin boyu faklı olacaksa fieldları tek tek yazmanız gerekir.
Asıl merak ettiğim konu neden acsess'ı buraya karışıtırıyorsunu? Direk SQL serverdan alın verileri. Hattada düzenlenmiş bir text yapısı olarak bile çekebilirsiniz kayıtları.
programın ürettiği gibi olan bir text dosyası var, biz bu dosya üzerinde rakamlarda değişiklik yapıp tekrar başka bir programa okutuyoruz ben bu işlemi program haline getirip mssqlden cektiğim stok bilgilerini örneğin satis_fiyat2 olan bilgiyi düzenleyerek sadece text dosyaya aktarmak istiyorum veritabanında değişiklik yapılmadan. ayrıca bu text dosyayya aktarılan bilgiler arasında boşluk sayıları farklı bilgiler kaymadan text dosya olusturmalıyım. Birde access kullanmamdaki amaç muhasebe programının ürettiği text dosyayı bozmadan yeni dosya oluşturmaktı ama aslında buna gerek yok sanırım dedğiniz dogru access e gerek yok mssqlden direk bilgileri cekip text e yazdırılabilir ama su formatlı yazma olayını nasıl yapabilirim yani ilgili sutunlara ilgili tablodaki bilgileri nasıl yazdırabilirim. Yardımlarınız için tesekkur ederim Saygılar.
Yapmak istediğinz sabit sütun genişliği. Öncelikle sütun uzunluklarını belirleyin. mesala stok kodu 10 hane olsun. o zaman stok kodunua 10 tane boşluk ekleyip ilk 10 karekterini alacağız. stok_adi 15 karekterse 15 boşluk ekleyip ilk 15 karekteri alacağız.
MSSQLE bir query yazın.
var
begin
JvRichEdit1.Clear;
ADOTable1.Close;
ADOTable1.Open;
ADOTable1.First;
While not ADOTable1.Eof do
begin
JvRichEdit1.Lines.Add(ADOTable1.Fieldbyname('veri'));
ADOTable1.Next;
End;
JvRichEdit1.Lines.SaveToFile('.\xxx.ftx');
end
Hocam merhaba cok özür dileyerek rahatsız ediyorum ama sql içerisinde contact komutunu bulamadım. birde bana msn adresini verebilirsen msn üzerinden online gorusek de su problemimi cozsek. benim msn adresim karamizrak@akdeniz.edu.tr
Concat MYSQL veya Oracle diye hatırlıyorum ben .
@mkysoft hocamın dalğınlığına gelmiş olabilir.
Concat birleştir anlamında bildiğim kadarı ile MS temelli sistemlerde, + ile bu iş yapılıyor.
ORACLE’de || operatörü veya CONCAT fonksiyonu ile bu iş yapılabiliyor bildiğim kadarı ile.