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

problemas con un if ???

Estas en el tema de problemas con un if ??? en el foro de ASP Clásico en Foros del Web. Hola a todos!!!...otra vez por aqui...tengo un problemilla, tengo este código: Código: If vMotor= 21B and vArranque= 1 and vParo= 0 and vFallo=0 then response.write ...
  #1 (permalink)  
Antiguo 24/11/2006, 14:09
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta problemas con un if ???

Hola a todos!!!...otra vez por aqui...tengo un problemilla, tengo este código:

Código:
If vMotor= 21B  and vArranque= 1 and vParo= 0 and vFallo=0 then
response.write "muestra una imagen"
y me aparece e siguiente error

Código:
Tipo de error:
Error de compilación de Microsoft VBScript (0x800A03F9)
Se esperaba 'Then'
/report/F3_Monitoreo4.asp, línea 872, columna 13
If vMotor= 21B and vArranque= 1 and vParo= 0 and vFallo=0 then 
sé que el problema esta en comparar la variable vMotor, la cual es 21B, pregunta: cual es la sintaxis cuando en mi comparacion tengo un valor con numeros y letras o bien si tuviera solo letras, por ejemplo si mi dato fuera 21B o MOTORB??...nuevamente gracias!!!
  #2 (permalink)  
Antiguo 24/11/2006, 14:15
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
If vMotor= "21B"
  #3 (permalink)  
Antiguo 24/11/2006, 14:38
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta

Hola orharo2003!!!

...disculpen por repetir el mensaje, no fue mi intención, la pagina esta fallando un poco y en mi intendo de enviar mi post, pues se envio 2 veces...sorry!!!

regresando al tema...ya puse esa sintaxis q sugieres...y ahora me marcó el siguiente error:

Código:
Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos: '[string: "21B "]'
/report/F3_Monitoreo4.asp, línea 118


...que esta mal...
  #4 (permalink)  
Antiguo 24/11/2006, 14:48
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Podrías poner más código?

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 24/11/2006, 18:08
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Información

ok...ahi va algo mas de codigo:

Código:
<%
	vFecha1= Day(Now) & "/" & Month(Now) & "/" & Year(Now) & " " & "00:00"
	vFecha2= Day(Now) & "/" & Month(Now) & "/" & Year(Now) & " " & "23:59"
	
	
	'Conección con la BD
	sConnStr = "Driver={SQL Server};Server=MGUEVARA;Database=Rssql;UID=sa;Password=sa;"
	Set objConn = Server.CreateObject("ADODB.Connection") 
	objConn.Open sConnStr

	'*** MOTOR13 ***
	Set rsMon13 = Server.CreateObject("ADODB.Recordset")
	strSQL_Mon13 = "SELECT TOP 1 ID, MOTOR, ARRANQUE, PARO, FALLO, AUTO, MANUAL, FECHC FROM MOTORES_ESC5 WHERE FECHC >='" & vFecha1 & "' AND FECHC <='" & vFecha2 & "'  ORDER BY FECHC DESC"		
	'Abre tabla temporal
	rsMon13.ActiveConnection = objConn
	rsMon13.Open strSQL_Mon13, objConn,2,2
	rsMon13.Requery
%>

<td width="54" align="left"><div align="center">
                        <%	
	'Obtener el valor de la consulta y asignarlo a la variable, vMotor=rsMon13("MOTOR")
vArranque=rsMon13("ARRANQUE")
vParo=rsMon13("PARO")
vFallo=rsMon13("FALLO")

	'Hacer comparacion.
If vMotor= 13B and vArranque= 1 and vParo= 0 and vFallo=0 then
response.write "muestra una imagen"
End If

If vMotor= 13B and vArranque= 0 and vParo= 1 and vFallo=0 then
response.write "muestra una imagen"
End If

If vMotor= 13B and vArranque= 0 and vParo= 0 and vFallo=1 then
response.write "muestra una imagen"
End If

%>
</div></td>
a ver que se puede hacer...gracias!!!...

Por cierto el tipo de dato que tengo en mi BD es "char".
  #6 (permalink)  
Antiguo 24/11/2006, 18:43
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Que tal.

La respuesta que te dio orharo2003, es correcta entonces la primera de tus compraciones quedaría:

Código:
	'Hacer comparacion.
If vMotor= "13B" and vArranque= 1 and vParo= 0 and vFallo=0 then
response.write "muestra una imagen"
End If
Y se hace lo mismo con las otras dos, sólo te faltaba ponerlo entre comillas.

Ahora bien se esta suponiendo que los campos ARRANQUE, PARO, FALLO son de tipo entero diferente de nulos.

Saludos y suerte!

Última edición por daniel00; 24/11/2006 a las 18:48 Razón: No leí bien uno de los post.
  #7 (permalink)  
Antiguo 24/11/2006, 18:47
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
También debes de asegurarte que el campo MOTOR es de tipo char(3) o varchar(3), seguramente es de tipo entero u por eso no se puede hacer la comparación.

Saludos nuevamente!
  #8 (permalink)  
Antiguo 24/11/2006, 18:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Lo que quisiera ver es la asignacion de vMotor, donde esta?

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 25/11/2006, 09:39
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Aca lo tiene master

vMotor=rsMon13("MOTOR")
vArranque=rsMon13("ARRANQUE")
vParo=rsMon13("PARO")
vFallo=rsMon13("FALLO")


Lo q es probable es que su consulta no le este devolviendo datos, mary ¿ Segura que si haces un response.write a tus variables te regresan valores ?
  #10 (permalink)  
Antiguo 25/11/2006, 10:26
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
No me habia percatado que aparecia un poco escondida, bueno, entonces si es tal como dice orharo lo mas probable es que la consulta esta devolviendo un nulo para ese valor.

Hazte un

Response.write(isNull(vMotor))

para determinar si esto es cierto.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 01:48.