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

Preguntas similare

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


Respuesta Responder a este mensaje
#2 Fernando Ugarte
28/07/2005 - 15:15 | Informe spam
Totalmente de acuerdo
pero el problema es que se importan con DTS archivos de un sistema cobol muy
viejo y no muy bien pensado.
Ademas existen algunas inconsistencias en los datos de las fechas por lo que
sql no me permite que sea un campo fecha, y no puede eliminar estos
registros.

Saludos



"Maxi" escribió en el mensaje
news:
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
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida