Arkadaşlar bu örnekte çözümü yavaşlatmışsınız sanki.
İki örnekte sql'i 2 kere açıyor. bir kere alanları saymak için bir kere de rowsource olarak yanlıyor muyum?
Daha basit çözüm olarak (sanrıım daha da hızlı) metin0 içindeki texti parametre olarak alan bi rfonksiyon yazalım derim. İlk select - from arasındaki virgülleri sayıp birle toplarsa alan sayısı ortaya çıkar zaten.
fonksiyonun kilit noktası da aşağıdaki gibi olursa sorun yok
sayi=1
p=instr(1,sql,",")
while p>0
sayi=sayi+1
p= instr(1,sql,",")
sql= right(sql,len(sql)-p)
wend
sonuc=sayi+1
--
sonradan aklıma geldi NZ gibi işlemlerde bu virgül olayı biraz saçmalar sanırım ama ( bularak onu da aşabilriz. Derdim sql'i iki defa açmamak. Eğer illa açıyorsak rowsource'u açtığımız dataset haline getirmeye yoğunlaşmak lazım. Küçük sorgularda sorun değil ama büyüklerinde bekleme süresi iki katına çıkar..
Bana işe yarayan bir müdür göster,sana dünyayı yerinden oynatayım.
Descartes
Descartes