1

Konu: istenilen kayıt kadar txt oluşturmak

kullanıcının verdiği kayıt sayısı(satır sayısı da diyebiliriz) kadar mevcut tabloyu parçalara ayırıp txt dosyaya çevirmenin pratik yolunu arıyorum.
copy to FileName type sdf  komutu mevcut seçili dosyayı txt dosyaya dönüştürüyor.

örneğin seçili dosyadaki kayıtları 1000 er 1000 er ayırıp txt oluşturmak istiyorum.

dbf'i parçalamadan txt i oluşturmak istiyorum.
nasıl yapabilirim

2

Re: istenilen kayıt kadar txt oluşturmak

Select SQL komutu ile istediğin kadar kayıtları bir cursor'e alıp copy to ile dosyaya gönderebilirsin.
Örnek; eğer tablonda bir siralama varsa örneğin cEvrakNo isminde bir sıralaman var bu durumda
Not: Kodu çalışma fırsatım olmadı.

Visual Fox Pro
Local Array laSonuc[1,1]

Select Cnt(*) ;
    From TabloAdi ;
    Into Array laSonuc
m.laSonuc = IIf(IsNull(m.laSonuc), 0, m.laSonuc)
If m.laSonuc = 0
    MessageBox("Metin dosyasına gönderilecek kayıt bulunamadı!", 48, "Uyarı")
    Return .F.
EndIf
 
Local lcDosyaAdi As String, lnI As Integer, lcWhere As String
m.lcDosyaAdi = "MetinDosyasi"
m.laSonuc = Ceiling(m.laSonuc / 1000)
m.lcWhere = ""
For m.lnI = 1 To m.laSonuc
    Select Top 1000 * ;
        From TabloAdi ;
        &lcWhere ;
        Into Cursor curSonuc ;
        Order By cEvrakNo
    Copy To (m.lcDosyaAdi + Transform(m.lnI) + ".txt") Type SDF
    Go Bottom In curSonuc
    m.lcWhere = "Where cEvrakNo > '" + curSonuc.cEvrakNo + "'"
EndFor
/o---------------------o\
     www.haser.com
\o---------------------o/

3

Re: istenilen kayıt kadar txt oluşturmak

Visual Fox Pro
xcounter=1

do whil !eof()
COPY TO ("mytextfile"+tran(xcounter)) TYPE SDF NEXT 100
xcounter=xcounter+1
enddo
Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

4

Re: istenilen kayıt kadar txt oluşturmak

Metin,
bu daha kolay oldu galiba smile
Copy'deki next'i bilmiyordum

/o---------------------o\
     www.haser.com
\o---------------------o/

5

Re: istenilen kayıt kadar txt oluşturmak

sql'e fazla alışmışsın sen... smile

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

6

Re: istenilen kayıt kadar txt oluşturmak

herkese teşekkürler
Tarkanın örneğiyle çözdüm ama metinin örneği  gerçekten daha pratikmiş sağolun

7

Re: istenilen kayıt kadar txt oluşturmak

yalnız metin üstadım senin örneğinde  txt lerin son kaydıyla, bir sonraki txt dosyanın ilk kaydı mükerrer oluyor.

8 Son düzenleyen, metin (25.09.2007 10:47:41)

Re: istenilen kayıt kadar txt oluşturmak

o zaman: smile

     

Visual Fox Pro
xcounter=1

      do whil !eof()
      COPY TO ("mytextfile"+tran(xcounter)) TYPE SDF NEXT 100
      skip
      xcounter=xcounter+1
      enddo
Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

9

Re: istenilen kayıt kadar txt oluşturmak

sağol üstadım ya
o kadar tırlattım bu da aklıma gelmedi iyimi. Aklımı mı kaybediyorum nedir anlamadım