1 Son düzenleyen, ugurlu2001 (28.02.2008 12:38:50)

Konu: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

Öncelikle Herkese Merhaba ,

Aşağıda xModel ve xDetay Cursor leri var. Bir modeldin en fazla kaç taş boyu varsa, o boylara göre dinamik bir Pivot SQL oluşturmak istiyorum.  Oluşan Cross table daki max kolon sayısı, En çok kullanılan modelin kontürüne eşi. MAX(COUNT(Modelno)).

Eğer, oluşan Pivot sorguda, modele ait tüm taş boyları bulunmuyorsa, ( 0 )  olmalı.

            Tas1    Tas2    Tas3     ....    TasN
Model1    1    2    2    ....    x
Model2    1    0    0    ....    0
Model3    4    7    14    ....    0
Model4    4    2    0    .....    0

Üstad ve ustaların yardımlarını bekliyorum ....

CreateCursor_xModel()

Procedure CreateCursor_xModel
LOCAL lcData, lcTemp
lcTemp = SYS(2015)+'.tmp'
TEXT TO m.lcData noshow
"Z-42R",14
"E-698M-1",13
"E-540N-1",12
"Z-43R",11
"Z-46R",11
"D-642B",10
"E-146R",10
"E-299M",10
"E-475M",10
"E-499R-2",10
"E-546M",10
"E-563M-1",10
"MJ-0066N",10
"E-377R",9
"E-541E",9
"MO011M",9
"MO011R",9
"MO100E",9
"MO114M",9
"MO114R",9
"C-988R",8
"D-111E",8
"D-897N",8
"E-140M",8
"E-363R",8
"E-431R",8
"E-453E",8
"E-563E-1",8
"G.E5964",8
"MO100M",8

ENDTEXT

STRTOFILE(m.lcData,m.lcTemp)

create CURSOR xModel ;
( ;
  MODELNO C(14,0)  NOT  NULL  ;
  ,TASKONTUR N(10,0)  NOT  NULL  ;
  )

APPEND FROM (m.lcTemp) TYPE delimited
ERASE (m.lcTemp)
endproc


*/*/*/  ikinci table


CreateCursor_xDetay()

Procedure CreateCursor_xDetay
LOCAL lcData, lcTemp
lcTemp = SYS(2015)+'.tmp'
TEXT TO m.lcData noshow
"D-642B",1,50,0,00,11,"",0,00,"",0,,0000000,""
"D-642B",1,30,0,00,26,"",0,00,"",0,,0000000,""
"D-642B",1,45,0,00,60,"",0,00,"",0,,0000000,""
"D-642B",1,25,0,00,35,"",0,00,"",0,,0000000,""
"D-642B",1,35,0,00,11,"",0,00,"",0,,0000000,""
"D-642B",1,10,0,00,1,"",0,00,"",0,,0000000,""
"D-642B",1,40,0,00,45,"",0,00,"",0,,0000000,""
"D-642B",1,45,0,00,42,"RUBİ",0,00,"",0,,0000000,""
"D-642B",1,40,0,00,65,"RUBİ",0,00,"",0,,0000000,""
"D-642B",1,20,0,00,30,"RUBİ",0,00,"",0,,0000000,""
"E-146R",2,10,0,00,3,"",0,00,"",0,,0000000,""
"E-146R",2,00,0,00,8,"",0,00,"",0,,0000000,""
"E-146R",1,90,0,00,8,"",0,00,"",0,,0000000,""
"E-146R",1,05,0,00,6,"",0,00,"",0,,0000000,""
"E-146R",1,20,0,00,4,"",0,00,"",0,,0000000,""
"E-146R",1,35,0,00,6,"",0,00,"",0,,0000000,""
"E-146R",1,40,0,00,6,"",0,00,"",0,,0000000,""
"E-146R",1,50,0,00,4,"",0,00,"",0,,0000000,""
"E-146R",1,60,0,00,26,"",0,00,"",0,,0000000,""
"E-146R",1,70,0,00,25,"",0,00,"",0,,0000000,""
"E-299M",2,20,0,00,4,"",0,00,"",0,,0000000,""
"E-299M",2,10,0,00,4,"",0,00,"",0,,0000000,""
"E-299M",2,00,0,00,2,"",0,00,"",0,,0000000,""
"E-299M",1,90,0,00,6,"",0,00,"",0,,0000000,""
"E-299M",1,80,0,00,2,"",0,00,"",0,,0000000,""
"E-299M",1,70,0,00,2,"",0,00,"",0,,0000000,""
"E-299M",1,55,0,00,2,"",0,00,"",0,,0000000,""
"E-299M",1,50,0,00,6,"",0,00,"",0,,0000000,""
"E-299M",1,45,0,00,63,"",0,00,"",0,,0000000,""
"E-299M",3,00,0,00,2,"",0,00,"",0,,0000000,""
"E-475M",2,50,0,00,20,"",0,00,"",0,,0000000,""
"E-475M",2,40,0,00,6,"",0,00,"",0,,0000000,""
"E-475M",2,30,0,00,5,"",0,00,"",0,,0000000,""
"E-475M",2,25,0,00,8,"",0,00,"",0,,0000000,""
"E-475M",2,20,0,00,5,"",0,00,"",0,,0000000,""
"E-475M",2,10,0,00,4,"",0,00,"",0,,0000000,""
"E-475M",2,00,0,00,7,"",0,00,"",0,,0000000,""
"E-475M",1,90,0,00,4,"",0,00,"",0,,0000000,""
"E-475M",1,80,0,00,4,"",0,00,"",0,,0000000,""
"E-475M",1,75,0,00,2,"",0,00,"",0,,0000000,""
"E-499R-2",1,80,0,00,4,"",0,00,"",0,,0000000,""
"E-499R-2",1,70,0,00,2,"",0,00,"",0,,0000000,""
"E-499R-2",1,60,0,00,2,"",0,00,"",0,,0000000,""
"E-499R-2",1,55,0,00,20,"",0,00,"",0,,0000000,""
"E-499R-2",1,50,0,00,2,"",0,00,"",0,,0000000,""
"E-499R-2",1,45,0,00,2,"",0,00,"",0,,0000000,""
"E-499R-2",1,35,0,00,6,"",0,00,"",0,,0000000,""
"E-499R-2",1,40,0,00,14,"",0,00,"",0,,0000000,""
"E-499R-2",1,10,0,00,5,"",0,00,"",0,,0000000,""
"E-499R-2",6,90,8,00,1,"orta",0,00,"",0,,0000000,""
"E-540N-1",1,25,0,00,12,"",0,00,"",0,,0000000,""
"E-540N-1",1,05,0,00,106,"",0,00,"",0,,0000000,""
"E-540N-1",2,25,0,00,1,"",0,00,"",0,,0000000,""
"E-540N-1",2,10,0,00,2,"",0,00,"",0,,0000000,""
"E-540N-1",1,90,0,00,4,"",0,00,"",0,,0000000,""
"E-540N-1",4,00,6,00,1,"OVAL",0,00,"",0,,0000000,""
"E-540N-1",1,25,0,00,12,"",0,00,"",0,,0000000,""
"E-540N-1",1,05,0,00,106,"",0,00,"",0,,0000000,""
"E-540N-1",2,25,0,00,1,"",0,00,"",0,,0000000,""
"E-540N-1",2,10,0,00,2,"",0,00,"",0,,0000000,""
"E-540N-1",1,90,0,00,4,"",0,00,"",0,,0000000,""
"E-540N-1",4,00,6,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",1,45,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",1,50,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",1,55,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",1,60,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",1,70,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",1,80,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",1,90,0,00,4,"",0,00,"",0,,0000000,""
"E-698M-1",2,10,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",2,20,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",2,25,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",2,30,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",2,40,0,00,1,"",0,00,"",0,,0000000,""
"E-698M-1",2,50,0,00,1,"",0,00,"",0,,0000000,""
"Z-42R",1,00,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",1,05,0,00,4,"",0,00,"",0,,0000000,""
"Z-42R",1,10,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",1,20,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",1,25,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",1,30,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",1,35,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",1,40,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",1,45,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",1,50,0,00,4,"",0,00,"",0,,0000000,""
"Z-42R",1,55,0,00,32,"",0,00,"",0,,0000000,""
"Z-42R",3,00,0,00,1,"",0,00,"",0,,0000000,""
"Z-42R",2,70,0,00,2,"",0,00,"",0,,0000000,""
"Z-42R",2,10,0,00,2,"",0,00,"",0,,0000000,""
"Z-43R",1,70,0,00,9,"",0,00,"",0,,0000000,""
"Z-43R",1,60,0,00,6,"",0,00,"",0,,0000000,""
"Z-43R",1,55,0,00,4,"",0,00,"",0,,0000000,""
"Z-43R",1,50,0,00,3,"",0,00,"",0,,0000000,""
"Z-43R",1,40,0,00,3,"",0,00,"",0,,0000000,""
"Z-43R",1,35,0,00,3,"",0,00,"",0,,0000000,""
"Z-43R",1,25,0,00,9,"",0,00,"",0,,0000000,""
"Z-43R",1,20,0,00,6,"",0,00,"",0,,0000000,""
"Z-43R",1,10,0,00,6,"",0,00,"",0,,0000000,""
"Z-43R",1,05,0,00,6,"",0,00,"",0,,0000000,""
"Z-43R",2,25,0,00,6,"",0,00,"",0,,0000000,""
"Z-46R",2,10,0,00,12,"",0,00,"",0,,0000000,""
"Z-46R",2,30,0,00,12,"",0,00,"",0,,0000000,""
"Z-46R",1,05,0,00,6,"",0,00,"",0,,0000000,""
"Z-46R",1,10,0,00,4,"",0,00,"",0,,0000000,""
"Z-46R",1,20,0,00,2,"",0,00,"",0,,0000000,""
"Z-46R",1,30,0,00,2,"",0,00,"",0,,0000000,""
"Z-46R",1,35,0,00,6,"",0,00,"",0,,0000000,""
"Z-46R",1,40,0,00,2,"",0,00,"",0,,0000000,""
"Z-46R",1,45,0,00,2,"",0,00,"",0,,0000000,""
"Z-46R",1,55,0,00,4,"",0,00,"",0,,0000000,""
"Z-46R",1,70,0,00,10,"",0,00,"",0,,0000000,""

ENDTEXT

STRTOFILE(m.lcData,m.lcTemp)

create CURSOR xDetay ;
( ;
  MODELNO C(14,0)  NOT  NULL  ;
  ,MM1 N(5,2)  NOT  NULL  ;
  ,MM2 N(5,2)  NOT  NULL  ;
  ,TASADET N(4,0)  NOT  NULL  ;
  ,KESIM C(15,0)  NOT  NULL  ;
  ,CT N(6,2)  NOT  NULL  ;
  ,NOT C(25,0)  NOT  NULL  ;
  ,FYTGIRIS N(8,0)  NOT  NULL  ;
  ,FYTCIKIS N(8,7)  NOT  NULL  ;
  ,TASKOD C(14,0)  NOT  NULL  ;
  )

APPEND FROM (m.lcTemp) TYPE delimited
ERASE (m.lcTemp)
endproc

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

2

Re: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

Ugur,
Allah senden razi olsun:) Sonunda birisi SampleToText kodunu kullanip data gonderme nezaketinde bulundu.
Simdi bakiyorum. Umarim kisa surede cevap veririm.

3 Son düzenleyen, ugurlu2001 (28.02.2008 12:52:29)

Re: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

Ah be üstad, keşke Sample kodu göndermeden kendi işimizi de çözebilsek smile

Bende bir yandan uğraşıyorum, Textmerge ile becerebilirmiyim diye. Olacağından şüphem yok ama benden bir sonuş çıkarmı muamma smile

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

4 Son düzenleyen, cetinbasoz (28.02.2008 12:53:53)

Re: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

"Aşağıda xModel ve xDetay Cursor leri var. Bir modeldin en fazla kaç taş boyu varsa, o boylara göre dinamik bir Pivot SQL oluşturmak istiyorum.  Oluşan Cross table daki max kolon sayısı, En çok kullanılan modelin kontürüne eşi. MAX(COUNT(Modelno)).

Eğer, oluşan Pivot sorguda, modele ait tüm taş boyları bulunmuyorsa, ( 0 )  olmalı.

            Tas1    Tas2    Tas3     ....    TasN
Model1    1    2    2    ....    x
Model2    1    0    0    ....    0
Model3    4    7    14    ....    0
Model4    4    2    0    .....    0
"

Biraz yardim et. "kaç taş boyu varsa" demissin. Tasboylari hangi field? xDetay.Tasadet? xModel.Taskontur?

Tabii sonra da o Tas1... TasN nereden geliyor onu soracagim:)

5

Re: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

Üstad, siteye gönderdiğim Datayı UGTAS.DBF den alıyorum...

Table 'dan yapısı şöyle ...
CreateCursor_Ugtas()

Procedure CreateCursor_Ugtas
LOCAL lcData, lcTemp
lcTemp = SYS(2015)+'.tmp'
TEXT TO m.lcData noshow
"Z-49R",1,25,0,00,64,"",0,00,"",0,,0000000,""
"Z-49R",1,80,0,00,1,"",0,00,"",0,,0000000,""
"Z-49N",1,25,0,00,83,"",0,00,"",0,,0000000,""
"Z-49N",1,80,0,00,2,"",0,00,"",0,,0000000,""
"Z-49E",1,25,0,00,166,"",0,00,"",0,,0000000,""
"Z-49E",1,80,0,00,8,"",0,00,"",0,,0000000,""
"C-348R",1,30,0,00,28,"",0,00,"",0,,0000000,""
"C-348R",1,35,0,00,54,"",0,00,"",0,,0000000,""
"E-107E-1",1,30,0,00,2,"",0,00,"",0,,0000000,""
"E-107E-1",1,50,0,00,24,"",0,00,"",0,,0000000,""
"E-107E-1",5,00,3,00,16,"PS",0,00,"",0,,0000000,""
"D-535R",1,35,0,00,66,"",0,00,"",0,,0000000,""
"D-597R",2,60,0,00,3,"",0,00,"",0,,0000000,""
"D-597R",2,20,0,00,6,"",0,00,"",0,,0000000,""
"D-597R",1,60,0,00,12,"",0,00,"",0,,0000000,""
"E-533R",1,70,0,00,33,"",0,00,"",0,,0000000,""
"C-966R",1,55,0,00,44,"",0,00,"",0,,0000000,""
"C-966R",1,40,0,00,18,"",0,00,"",0,,0000000,""
"C-966R",1,30,0,00,48,"",0,00,"",0,,0000000,""
"C-966R",1,20,0,00,22,"",0,00,"",0,,0000000,""
"D-113R",1,40,0,00,38,"",0,00,"",0,,0000000,""
"D-184R",1,70,0,00,32,"",0,00,"",0,,0000000,""
"D-184R",1,30,0,00,13,"",0,00,"",0,,0000000,""
"E-133R-2",1,35,0,00,14,"",0,00,"",0,,0000000,""
"E-133R-2",1,45,0,00,18,"",0,00,"",0,,0000000,""
"E-133R-2",1,50,0,00,8,"",0,00,"",0,,0000000,""
"E-133R-2",1,60,0,00,4,"",0,00,"",0,,0000000,""
"E-133R-2",1,70,0,00,6,"",0,00,"",0,,0000000,""
"D-305R",1,80,0,00,15,"",0,00,"",0,,0000000,""
"D-305R",1,05,0,00,30,"",0,00,"",0,,0000000,""
"D-305R",2,00,0,00,14,"",0,00,"",0,,0000000,""
"Z-93R",1,10,0,00,4,"",0,00,"",0,,0000000,""
"Z-93R",1,30,0,00,4,"",0,00,"",0,,0000000,""
"Z-93R",1,80,0,00,2,"",0,00,"",0,,0000000,""
"Z-93R",1,70,0,00,24,"",0,00,"",0,,0000000,""
"Z-93R",3,00,0,00,1,"",0,00,"",0,,0000000,""
"D-318M",1,60,0,00,34,"",0,00,"",0,,0000000,""
"B-293E",1,10,0,00,42,"",0,00,"",0,,0000000,""
"C-705E",1,60,0,00,20,"",0,00,"",0,,0000000,""
"C-705E",1,80,0,00,56,"",0,00,"",0,,0000000,""
"SW1163M",2,25,0,00,1,"",0,00,"",0,,0000000,""
"SW1163M",1,45,0,00,16,"",0,00,"",0,,0000000,""
"SW1163M",1,30,0,00,5,"",0,00,"",0,,0000000,""
"SW1163R",1,50,0,00,24,"",0,00,"",0,,0000000,""
"SW1163R",1,55,0,00,8,"",0,00,"",0,,0000000,""
"Z-85E-1",1,45,0,00,52,"",0,00,"",0,,0000000,""
"Z-85E-1",1,50,0,00,24,"",0,00,"",0,,0000000,""
"B-155R",1,40,0,00,36,"",0,00,"",0,,0000000,""
"B-155R",6,00,5,00,1,"OVAL",0,00,"SAFİR MAVİ",0,,0000000,""
"E-266M",1,25,0,00,104,"",0,00,"",0,,0000000,""

ENDTEXT

STRTOFILE(m.lcData,m.lcTemp)

create CURSOR Ugtas ;
( ;
  MODELNO C(14,0)  NOT  NULL  ;
  ,MM1 N(5,2)  NOT  NULL  ;
  ,MM2 N(5,2)  NOT  NULL  ;
  ,TASADET N(4,0)  NOT  NULL  ;
  ,KESIM C(15,0)  NOT  NULL  ;
  ,CT N(6,2)  NOT  NULL  ;
  ,NOT C(25,0)  NOT  NULL  ;
  ,FYTGIRIS N(8,0)  NOT  NULL  ;
  ,FYTCIKIS N(8,7)  NOT  NULL  ;
  ,TASKOD C(14,0)  NOT  NULL  ;
  )

APPEND FROM (m.lcTemp) TYPE delimited
ERASE (m.lcTemp)
endproc

Şimdi gelelim benim soruma,

Diyelimki,
D-184R Modelinde 2 farklı Taş kullanılmış,
Z-42 modelinde ise 14 taş kullanılmış .

Benim oluşturmak istediğim
Modelno Tas1, Tas2, ... Tas(MAX Adet)

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

6

Re: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

Galiba bu istedigin:

Visual Fox Pro
Local Array aMaxTas[1]

* Kolon sayisini tespit etmek icin en fazla kac tip tas kullanildigini bul
Select Max(sayi) As MaxTas ;
  FROM ;
  (Select modelno,Cnt(*) As sayi From ugtas Group By modelno) tmp ;
  INTO Array aMaxTas
 
* Pivot tablosunun kolon sayisi aMaxTas[1] * 3 (mm1,mm2,adet) + 1 (modelno)
* Cursoru yarat
Local Array aStruct[aMaxTas*3+1,5]
Local ix
aStruct = .T.
aStruct[1,1] = 'Model'
aStruct[1,2] = 'C'
aStruct[1,3] = 30
aStruct[1,4] = 0
aStruct[1,5] = .F.
For m.ix = 1 To aMaxTas
  aStruct[(m.ix-1)*3+1+1,1] = 'TasMM1_'+Padl(m.ix,3,'0')
  aStruct[(m.ix-1)*3+1+1,2] = 'Y'
  aStruct[(m.ix-1)*3+1+1,3] = 8
  aStruct[(m.ix-1)*3+1+1,4] = 0
  aStruct[(m.ix-1)*3+1+2,1] = 'TasMM2_'+Padl(m.ix,3,'0')
  aStruct[(m.ix-1)*3+1+2,2] = 'Y'
  aStruct[(m.ix-1)*3+1+2,3] = 8
  aStruct[(m.ix-1)*3+1+2,4] = 0
  aStruct[(m.ix-1)*3+1+3,1] = 'TasAdet_'+Padl(m.ix,3,'0')
  aStruct[(m.ix-1)*3+1+3,2] = 'I'
  aStruct[(m.ix-1)*3+1+3,3] = 4
  aStruct[(m.ix-1)*3+1+3,4] = 0
Endfor
Create Cursor crsPivot From Array aStruct
 
* Kullanilan fieldleri sirali olarak bir cursor'a al
Select modelno,mm1,mm2,tasadet ;
  FROM ugtas ;
  ORDER By 1,2,3 ;
  INTO Cursor crsTmp ;
  nofilter
 
*Model basina pivot satirlarini al ve koy
Local Array aDataRecord[1,aMaxTas*3+1], aCurrent[RECCOUNT('crsTmp'),3]
aCurrent = Null
aDataRecord = Null
 
Select crsTmp
Scan
  If !(modelno == Nvl(aDataRecord[1],''))
    aDataRecord[1,1] = modelno
    Copy Fields mm1,mm2,tasadet ;
      TO Array aCurrent ;
      WHILE modelno == aDataRecord[1,1]
    Acopy(aCurrent, aDataRecord,1,_Tally*3,2)
    Insert Into crsPivot From Array aDataRecord
    aCurrent = Null
    aDataRecord = Null
    Skip -1
  Endif
Endscan
 
Select crsPivot
Browse

7

Re: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

Üstat, sen gerçekten harikasın smile

Wizard of the Foxpro smile

Ellerine sağlık, Allah parmaklarına zeval vermesin, Akıl ve beden sağlığı versin diyorum üstad. Sayende baya yorucu bir işten kurtuldum smile

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

8

Re: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

Üstad kodu inceledikçe şaşırıyorum. Arraydan dinamik bir CrossTab Cursor oluşturmak hem hız hemde dinamik olması açısından çok akıllıca.

Ancak anlayamadığım bir kaç nokta var.

Visual Fox Pro
Local Array aStruct[aMaxTas*3+1,5]

Local ix
aStruct = .T.
aStruct[1,1] = 'Model'
aStruct[1,2] = 'C'
aStruct[1,3] = 30
aStruct[1,4] = 0
aStruct[1,5] = .F.


kısmındaki

Visual Fox Pro
aStruct = .T.


ve

Visual Fox Pro
aStruct[1,5] = .F.

neye yarıyor?

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

9

Re: Cross, Pivot sorgu örneği. Nasıl yapabilirim.

Herhangi bir array'de:

aMyArray = 'hello'

seklinde atama yaparsan ( aMyArray[1,3] gibi index vermeden) arrayin tum elemanlarina o deger atanir.

Structure arrayde 5. eleman o fieldin NULL olup olamayacagi (AFields()'te detaylari var).
Tembellikten for...endfor'da 3 tane .T. olan eklemek yerine once tum arrayi .T. yaptim, sadece ilk field .F. olacakti:)