1

Konu: Foxpro 9 Da Group By Hata Verİyor

merhaba arkadaşlar foxpronun  eski sürümlerinde çalışan aşağıdaki komut satırım fox9 da hata veriyor.Çözemedim hatayı görebilen arkadaşlardan yardım rica ediyorum.Amacım kimlik numaralarına göre group yapmak:P
 
select  *   FROM KAYITLAR   ORDER BY KAYITLAR.ADI  GROUP BY KAYITLAR.TCKIMLIK ;
     INTO CURSOR KIMLIKNUMARALARI

En büyük sermaye nakit,nakit sermaye vakittir...

2

Re: Foxpro 9 Da Group By Hata Verİyor

SET ENGINEBEHAVIOR 70
select  *   FROM KAYITLAR   ORDER BY KAYITLAR.ADI  GROUP BY KAYITLAR.TCKIMLIK ;
     INTO CURSOR KIMLIKNUMARALARI

sanırım sorunun çözülür.

birde hata mesajını veya numarasını veririsen daha iyi olur.

Bilmediğin Neyse Yanıldığındır.

3

Re: Foxpro 9 Da Group By Hata Verİyor

neyzen yazdı:

merhaba arkadaşlar foxpronun  eski sürümlerinde çalışan aşağıdaki komut satırım fox9 da hata veriyor.Çözemedim hatayı görebilen arkadaşlardan yardım rica ediyorum.Amacım kimlik numaralarına göre group yapmak:P
 
select  *   FROM KAYITLAR   ORDER BY KAYITLAR.ADI  GROUP BY KAYITLAR.TCKIMLIK ;
     INTO CURSOR KIMLIKNUMARALARI


SQL kodu öncesinde

Visual Fox Pro
set engine behavior 70

kullan yada



Visual Fox Pro
select  *   FROM KAYITLAR   ;

ORDER BY KAYITLAR.ADI  ;
GROUP BY 3 ;
INTO CURSOR KIMLIKNUMARALARI

&& burada kayitlar.tckimlik alaninin tabloda ücüncü sirada yeraldigini varsaydim
VFP 9 da group by mantigi SQL server a uyduruldu

ayrica su kısımlarıda okursan daha rahat anlamis olursun
http://www.fox4um.com/viewtopic.php?id=285

4 Son düzenleyen, cetinbasoz (14.08.2007 10:36:15)

Re: Foxpro 9 Da Group By Hata Verİyor

Neyzen,
Gruplama yapacagin zaman:
1) Gruplayacagin kolon(lar)
2) Grup basina sum(),cnt(),max(),min(), avg()... gibi bir 'aggregate' fonksiyona
ihtiyacin var. Bunun disindaki kolonlar "group by" ile anlamsiz. Bu anlamsiz isleme VFP7'de izin veriliyordu ama izin verilmesi hataydi.

set enginebehavior 70

VFP7'deki hatali haliyle almana izin veriyor ama unutma hata. Onun yerine gecerli olacak sekilde yaz.

Visual Fox Pro
CREATE CURSOR kimlik (kimlikno i, ad c(10))

INSERT INTO kimlik VALUES (123,'Ali')
INSERT INTO kimlik VALUES (456,'Veli')
INSERT INTO kimlik VALUES (789,'Ali')
 
CREATE CURSOR islem (kimlikno i, tarih d, yer c(10))
INSERT INTO islem VALUES (123, DATE(2000,1,1), 'Ankara')
INSERT INTO islem VALUES (123, DATE(2000,12,31), 'Izmir')
INSERT INTO islem VALUES (123, DATE(2000,10,20), 'Istanbul')
 
INSERT INTO islem VALUES (456, DATE(2001,1,1), 'Adana')
INSERT INTO islem VALUES (456, DATE(2001,12,31), 'Izmir')
INSERT INTO islem VALUES (456, DATE(2001,10,20), 'Antalya')
 
INSERT INTO islem VALUES (789, DATE(2000,1,1), 'Denizli')
INSERT INTO islem VALUES (789, DATE(2000,12,31), 'Mugla')
 
SET ENGINEBEHAVIOR 70
SELECT * FROM islem GROUP BY kimlikno
SET ENGINEBEHAVIOR 90

Bu kod calistiginda hata vermiyor ama sonucta gelen tarih ve yer nereden geliyor? Senin tablon sanki ilk tablo gibi (nufus kutugu gibi). O zaman hic group by gerekmiyor.

5

Re: Foxpro 9 Da Group By Hata Verİyor

tüm arkadaşlara teşekkür ederim sorun çözüldü.Foxpro9 a yeni geçtiğim için ara sıra böyle basit sorunlar için sizleri rahatsız edeceğim arkadaşlar.

En büyük sermaye nakit,nakit sermaye vakittir...