Foros del Web » Programando para Internet » ASP Clásico »

Error en select, la primera vez

Estas en el tema de Error en select, la primera vez en el foro de ASP Clásico en Foros del Web. Maestros, tengo un select que utiliza la función date(año,mes,dia), pero como necesito restar fechas en el mismo select hago la siguiente : date(val(substr(fecha1,4,1),mes,dia) para obtener ...
  #1 (permalink)  
Antiguo 11/03/2002, 08:02
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 23 años, 8 meses
Puntos: 0
Error en select, la primera vez


Maestros, tengo un select que utiliza la función date(año,mes,dia), pero como necesito restar fechas en el mismo select hago la siguiente :

date(val(substr(fecha1,4,1),mes,dia) para obtener el año, ya que en la db de VF está alfanumérica ejemplo :20021231.

Cuando lo ejecuto la primera vez me arroja en siguiente error:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Visual FoxPro Driver]SQL: no se encuentra la columna 'TCLO'.
/general.asp, line 199

Luego le doy actualizar ó F5 y me funciona bien, este error me tiene loco, por favor ayudenme como siempre.

salu2
  #2 (permalink)  
Antiguo 11/03/2002, 09:25
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Error en select, la primera vez

¿Podrías poner la sentencia SQL?.
Aparentemente, por lo que dices es que no encuentra el campo 'TCLO'.
  #3 (permalink)  
Antiguo 12/03/2002, 07:56
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Error en select, la primera vez

Este es el Select, les recuerdo que el error lo muestra la primera vez, al actualizar o pressionar F5 me funciona ok.


sql="select distinct coord,central,tele,dispo+subdispo,causa+subcausa,s ubstr(tclo,7,2)+'/'+substr(tclo,5,2)+'/'+substr(tclo,1,4)+' '+substr(tclo,9,2)+':'+substr(tclo,11,2),cleaid1,r ep1,ca1,arm1 from acumnac as t1 where "&_
"tele=(selec tele from acumnac where t1.tclo<acumnac.tclo and acumnac.causa<>'5' and acumnac.causa<>'7' and acumnac.dispo<>'19' and acumnac.dispo<>'17' and acumnac.dispo<>'13' and acumnac.causa<>'6' and acumnac.tclo >='" & ano1+mes1+dia1 & "' and acumnac.tclo<='" & ano2+mes2+dia2 & "') "&_
"and clsid='" & dac & "' and area1='" & coord & "' and (date(val(substr(t1.tclo,1,4)),val(substr(t1.tclo, 5,2)),val(substr(t1.tclo,7,2))) - date(val(substr(acumnac.tclo,1,4)),val(substr(acum nac.tclo,5,2)),val(substr(acumnac.tclo,7,2)))) < 30 "&_
"and t1.causa<>'5' and t1.causa<>'7' and t1.dispo<>'19' and t1.dispo<>'17' and t1.dispo<>'13' and t1.causa<>'6' "&_
"order by t1.tele,t1.tclo "
  #4 (permalink)  
Antiguo 12/03/2002, 08:18
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Error en select, la primera vez

Confío en ustedes, el error es al utilizar Date(yyyy,mm,dd), ya que lo he probado sin esta función y sale bien.

Salu2
  #5 (permalink)  
Antiguo 12/03/2002, 08:56
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Error en select, la primera vez

Si está muy complicado, por lo menos indíquenme cuales funciones con sus respectivas sintaxis puedo utilizar para restar fechas, la base de datos está en Visual Foxprox.

No se rindan,,,,,,,
  #6 (permalink)  
Antiguo 12/03/2002, 09:07
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Error en select, la primera vez

Utiliza CAST, que yo sepa, no puedes usar la función date en SQL.

sql="select distinct coord,central,tele,dispo+subdispo,causa+subcausa,s ubstr(tclo,7,2)+'/'+substr(tclo,5,2)+'/'+substr(tclo,1,4)+' '+substr(tclo,9,2)+':'+substr(tclo,11,2),cleaid1,r ep1,ca1,arm1 from acumnac as t1 where "&_
"tele=(selec tele from acumnac where t1.tclo<acumnac.tclo and acumnac.causa<>'5' and acumnac.causa<>'7' and acumnac.dispo<>'19' and acumnac.dispo<>'17' and acumnac.dispo<>'13' and acumnac.causa<>'6' and acumnac.tclo >='" & ano1+mes1+dia1 & "' and acumnac.tclo<='" & ano2+mes2+dia2 & "') "&_
"and clsid='" & dac & "' and area1='" & coord & "' and CAST(t1.tclo as datetime) - CAST(acumnac.tclo as datetime) < 30 "&_
"and t1.causa<>'5' and t1.causa<>'7' and t1.dispo<>'19' and t1.dispo<>'17' and t1.dispo<>'13' and t1.causa<>'6' "&_
"order by t1.tele,t1.tclo "

Pruébalo, a mi CAST me funciona de maravilla. Si tienes problemas busca información de CAST o CONVERT, que son las funciones de conversión que soporta SQL .

Suerte!! :cantar:
  #7 (permalink)  
Antiguo 12/03/2002, 13:38
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Error en select, la primera vez

como deberías estár los datos en TCLO, para que funcione CAST.

Solo quiero la sintaxis de CAST, ejemplo :

Este SQL me da error:

sql="Select coord,central,tele,dispo+subdispo,causa+subcausa from acumnac where (CAST('2002/03/11 05:02P' AS DATETIME ) - CAST('2002/03/11 02:02P' AS DATETIME)) < 30 "

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Visual FoxPro Driver]Falta ) en el nombre de función.
/general.asp, line 206


Salu2, espero sus sugerencias...
  #8 (permalink)  
Antiguo 12/03/2002, 17:38
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Error en select, la primera vez

Como debería estar estructurado el campo, para que funcione cast.

CAST(fecha as datetime)



Gracias de Antemano
  #9 (permalink)  
Antiguo 13/03/2002, 04:29
 
Fecha de Ingreso: enero-2002
Mensajes: 120
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Error en select, la primera vez

En principio la sintaxis CAST(t1.tclo as datetime) es correcto.
Yo lo uso en el sistema Transact-SQL que utiliza SQL Server.
Puede ser que en Foxpro haya alguna diferencia .
Sugiero que le heches un vistazo a la ayuda de Fox para ver si hay alguna información acerca de esta función (o si dispone de otra)

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:06.