problema con fechas

28/07/2005 - 14:38 por Fernando Ugarte | Informe spam
buenas
tengo en sql server la siguiente tabla
ss_mssp con
año_afiliacion char(4)
mes_afilaicion char(2)
dia_afiliacion char(2)
estado char(3)
id char(8)

el problema es que parece que desde visual fox pro, sql server no entiende
la conversion de tipos de vfp

necesito contar registros por fecha, el codigo es algo asi:

STORE SQLCONNECT('LocalServer', '') TO gnConnHandle
IF gnConnHandle <= 0
= MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
wait windows 'Connection made' nowait
* = SQLDISCONNECT(gnConnHandle)
ENDIF
USE mssp
SELECT mssp

FOR aa = 2000 TO 2005
FOR mm = 1 TO 12
dfecÚTE(aa,mm,1)
* cantidad de afiliados
nconn = SQLEXEC(gnConnHandle,"SELECT count(*) from ss_mssp where
DATE(VAL(ss_mssp.año_afiliacion), VAL(ss_mssp.mes_afiliacion),1) <= &dfec",
'cant1')
ENDFOR
ENDFOR

pero nconn devuelve -1 siempre
gracias
 

Leer las respuestas

#1 Maxi
28/07/2005 - 14:48 | Informe spam
Hola, pues... no es buena idea tener este diseño asi, porque no se tiene un
campo fecha_afiliacion? para poder consultarlo deberas aplicar otros
criterios (en vfox no se como se hace). Vas a tener que pasarle el año, el
mes y el dia como campos en el where, pero deberas desprenderlo de la fecha
que pongan en algun lugar.

pd: si fuera yo, intentaria cambiar este diseño porque no es muy adecuado
que digamos :(


Salu2
Maxi


"Fernando Ugarte" <Nando> escribió en el mensaje
news:
buenas
tengo en sql server la siguiente tabla
ss_mssp con
año_afiliacion char(4)
mes_afilaicion char(2)
dia_afiliacion char(2)
estado char(3)
id char(8)

el problema es que parece que desde visual fox pro, sql server no entiende
la conversion de tipos de vfp

necesito contar registros por fecha, el codigo es algo asi:

STORE SQLCONNECT('LocalServer', '') TO gnConnHandle
IF gnConnHandle <= 0
= MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
wait windows 'Connection made' nowait
* = SQLDISCONNECT(gnConnHandle)
ENDIF
USE mssp
SELECT mssp

FOR aa = 2000 TO 2005
FOR mm = 1 TO 12
dfecÚTE(aa,mm,1)
* cantidad de afiliados
nconn = SQLEXEC(gnConnHandle,"SELECT count(*) from ss_mssp where
DATE(VAL(ss_mssp.año_afiliacion), VAL(ss_mssp.mes_afiliacion),1) <=
&dfec",
'cant1')
ENDFOR
ENDFOR

pero nconn devuelve -1 siempre
gracias


Preguntas similares