Foros del Web » Programando para Internet » Javascript »

Consulta a access

Estas en el tema de Consulta a access en el foro de Javascript en Foros del Web. Hola amigos, de nuevo por aquí.... Tengo la siguiente duda y espero estar en el subforo correcto. Estoy tratando de hacer una búsqueda es una ...
  #1 (permalink)  
Antiguo 26/08/2010, 15:36
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Consulta a access

Hola amigos, de nuevo por aquí.... Tengo la siguiente duda y espero estar en el subforo correcto.

Estoy tratando de hacer una búsqueda es una base de datos access desde asp, pero, el resultado lo quiero imprimir en una matriz que está en javascript Puede que esto suene alocado, pero he entrado en un callejón sin salida, y es sin salida, porque ya tengo mucho trabajo hecho y sólo me queda esto que les planteo.

Tengo este bucle en js
Código:
for (fila = 0; fila < 6; fila++)
{
   for (x = 0; x < 7; x++)
	{	
   	   if ((fila == 0) && (x < y))
		{	//valores vacíos primera fila
		   matriz[fila][x] = ""
		} else if (valor > dias_por_mes[mes - 1])
		{		 //valores vacíos última línea
		   matriz[fila][x] = ""
		} else if (valor == dia_mes)
		{	  			//valor día actual
		   matriz[fila][x] = valor
		   valor++
		}
	        else
	        {
	            (***)matriz[fila][x] = valor	//valores ocupados
	            (***)valor++
	         }
        }
}
Este código es parte de un script completo que me forma un calendario (ya se que muchos me comentaron que utilizara los de jquery, pero por muchas razones lo hice de esta manera), pero necesito hacer una consulta a mi base de datos para saber en que fechas hay eventos e imprimirlas en el calendario. Lo que pienso es poner esa consulta en (***) pero no se cómo hacer.

La consulta ya está dentro del script y funciona bien, lo hago de la siguiente manera:
Código HTML:
<script language="javascript" type="text/javascript">

<%
Set con=Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.Recordset")
Set Ors=Server.CreateObject("ADODB.Recordset")
Con.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("agendavh.mdb")
Con.open
f = trim(FormatDateTime(date,2))
f = CDate(f)
rs.open "Select fechaap From agenda",con
Do While not rs.eof
	tusuario = trim(rs("tusuario"))
	fechaap = trim(rs("fechaap"))
	Idregistro =trim(rs("Idregistro"))
	if (fechaap >= f) and (tusuario <> "") then
		dev = mid(fechaap,1,2)
		response.Write("fechaap = '"& fechaap &"';")
	end if
	rs.movenext
Loop
rs.close
con.close
%>
.....
.....
.....
</script> 
y esta consulta es la que requiero poner en mi bucle for. Algo como esto (es algo que se me ocurre pero que no se cómo hacerlo y si se puede hacer):

Código:
else
{
    *consulta
    matriz[fila][x] = valor_resultado_consulta     //valores ocupados
}
¿Esto es posible? En caso de que se pueda hacer, ¿cómo lo hago? Espero que me haya explicado bien.

Saludos....
  #2 (permalink)  
Antiguo 26/08/2010, 15:50
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Consulta a access

Hola

Hay partes que no he entendido, pero bueno. Mira como trabajas con ASP, echale un vistazo a esto, a ver que te parece

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 26/08/2010, 17:23
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Consulta a access

Hola Adler, lo que me has sugerido leer está muy bien, pero ya analizando lo que necesito, creo que mi pregunta simplifidcada es:

¿se puede hacer una consulta dentro de un script e imprimir el resultado?

algo como esto

Código HTML:
<script language="javascript" type="text/javascript">
....
else
{
<%
   Set con=Server.CreateObject("ADODB.Connection")
   Set rs=Server.CreateObject("ADODB.Recordset")
   Set Ors=Server.CreateObject("ADODB.Recordset")
   Con.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("agendavh.mdb")
   Con.open
   f = trim(FormatDateTime(date,2))
   f = CDate(f)
   rs.open "Select Idregistro, tusuario, fechaap From agenda",con
   Do While not rs.eof
	tusuario = trim(rs("tusuario"))
	fechaap = trim(rs("fechaap"))
        Idregistro =trim(rs("Idregistro"))
	if (fechaap >= f) and (tusuario <> "") then
   	   dev = mid(fechaap,1,2)
	   response.Write("fechaap = '"& fechaap &"';")
	   response.Write("registro = '"& Idregistro &"';")
	%>
           matriz[fila][x] = fechaap	
           document.write (matriz[fila][x])
        <%
	end if
   rs.movenext
   Loop
   rs.close
   con.close
%>
...
}
</script> 
  #4 (permalink)  
Antiguo 26/08/2010, 18:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Consulta a access

creo que confundes el ámbito de asp con respecto al de js, ASP se ejecuta en el servidor, cuando inicia javascript ASP ya finalizó, si quieres por medio de javascript realizar una búsqueda a la base de datos, necesitas utilizar AJAX para enviar una petición al ASP en el servidor y que el mismo te devuelva el resultado que puedes posteriormente manipular en javascript ¿mas u menos es lo que necesitas?
  #5 (permalink)  
Antiguo 27/08/2010, 05:58
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Consulta a access

Hola

El error lo estás cometiendo en esta línea, que tendría que ser así
Cita:
matriz[fila][x] = <%=fechaap%>
Pero aún así no resultaría. Veamos como tendría que quedar
Cita:
Do While not rs.eof
tusuario = trim(rs("tusuario"))
fechaap = trim(rs("fechaap"))
Idregistro =trim(rs("Idregistro"))
if (fechaap >= f) and (tusuario <> "") then
dev = mid(fechaap,1,2)
response.Write("fechaap = '"& fechaap &"';")
response.Write("registro = '"& Idregistro &"';")

matriz = matriz & fechaap & "," ' Concatenamos todos los valores simulando un array

end if
rs.movenext
Loop
rs.close
con.close
%>
<script type="text/javascript">
arr = [<%=Left(ristra,Len(matriz)-1)%>]; // Ya tienes los registros que trae la consulta en un array javascript
</script>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 27/08/2010, 12:04
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Consulta a access

Hola Adler... ¿y si el planteamiento fuera al contrario? Si tengo una var js y quiero compararla en un if en as, ¿como pudiera hacerle?

Maomeno esto:

Código:
matriz[fila][x] = valor				//valores ocupados
if (matriz[fila][x] < 10)
{
d = (matriz[fila][x])
if (mes < 10)
	{
	m = ("0"+mes)
	}
else
	{
	m = (mes)
	}
a = (anio)
ff = ("0"+d+"/"+m+"/"+a)
}
else
{
d = (matriz[fila][x])
if (mes < 10)
	{
	m = ("0"+mes)
	}
else
	{
	m = (mes)
	}
a = (anio)
ff = (d+"/"+m+"/"+a)
}

<%
Set con=Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.Recordset")
Set Ors=Server.CreateObject("ADODB.Recordset")
Con.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("agendavh.mdb")
Con.open
f = trim(FormatDateTime(date,2))
f = CDate(f)
rs.open "Select fechaap From agenda",con
Do While not rs.eof
fechaap = trim(rs("fechaap"))
if (fechaap = "ff") then
	response.Write("matriz[fila][x] = '<strong><font color=red>'+matriz[fila][x]+'</font></strong>'")
end if
rs.movenext
Loop
rs.close
con.close
%>
valor++
¿Es esto posible?

Última edición por JavierMMM; 27/08/2010 a las 12:13
  #7 (permalink)  
Antiguo 27/08/2010, 13:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Consulta a access

Hola

Entonces, ante ese planteamiento, te diría lo mismo que te comento @maycolalvarez

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 27/08/2010, 13:03
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Consulta a access

Muchas gracias Adler y también a @maycolalvarez... Porvaré por ese lado....

Etiquetas: access
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 02:55.