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

Aportación: consultar tablas de Access online

Estas en el tema de Aportación: consultar tablas de Access online en el foro de ASP Clásico en Foros del Web. Hola a todos, muchas veces me ha pasado que queria consultar una tabla de mi bd access, y tener que descargarla para poder consultarla. He ...
  #1 (permalink)  
Antiguo 15/12/2009, 07:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 15 años, 10 meses
Puntos: 9
Aportación: consultar tablas de Access online

Hola a todos, muchas veces me ha pasado que queria consultar una tabla de mi bd access, y tener que descargarla para poder consultarla. He buscado por internet y he encontrado un script muy bueno, que he modificado, mejorado un poco y completado. El resultado es que te lista todas las tablas de la base de datos, y tienes un formulario para meter el nombre de la tabla a consultar. metes una y te saca todas las columnas y filas de dicha tabla. el textbox conserva la tabla consultada para poder dar a consultar directamente sin tener que reescribir la consulta.
Facil y superutil, no?

el aspecto visual es editable, so puede toquetear sin mayor problema.

Pasos para usarlo:
1- Copiar el codigo a un asp vacio.
2- poner la ruta de la base de datos access
3- Guardar con el nombre consultatabla (o editar el action del form)
4- subirlo
5- ejecutarlo!

sin mas, os lo comparto. Espero que sea util y si lo es que comenteis!

Tambien me gustaria que hicierais sugerencias o aportaseis mejoras al codigo!

Código ASP:
Ver original
  1. <%
  2. tabla = Request.Form("tabla")
  3. %>
  4. <form action="consultatabla.asp" method="post">
  5. Tabla a consultar:<br>
  6. <input name="tabla" type="text" value="<%= tabla %>"><br><br>
  7. <input name="" type="submit"><br>
  8. </form>
  9. <%
  10.  
  11.  
  12. 'Simplemente Configurar el string de conexion'
  13. 'y la tabla a mostrar, en las siguientes variables'
  14. StrConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("/[COLOR="Red"][B]RUTA de la base de datos[/B][/COLOR]")
  15. Set oConn = Server.CreateObject("ADODB.Connection")
  16. oConn.Open StrConn
  17.  
  18.  
  19. if tabla <> "" then
  20.  
  21. '-----------------------------------------------------------------------------'
  22. 'Configuraciones visuales (no obligatorias)'
  23. color_datos = "#000000"
  24. color_titulos = "#FFFFFF"
  25. 'los colores de fondo de la tabla'
  26. fondo_color_datos = "#cbebde"
  27. fondo_color_titulos = "#475f70"
  28. 'la letra (font) de los datos'
  29. font_datos = "Verdana"
  30. font_titulos = "Verdana"
  31. 'el tamaño (size) de la letra'
  32. size_datos = "11"
  33. size_titulos = "11"
  34. '-----------------------------------------------------------------------------'
  35. 'No tocar mas abajo de esta linea si no se sabe lo que se hace'
  36. '-----------------------------------------------------------------------------'
  37.  
  38. sql = "SELECT * FROM ["& Trim(tabla) & "]"
  39.  
  40. Set RS = Server.CreateObject("ADODB.RecordSet")
  41. RS.Open sql, oConn, 3, 1
  42. Response.Write vbTab & "<TABLE cellpadding='3' BORDER='1' WIDTH='100%' bordercolor='#000000'>"
  43. Response.Write vbTab & "<TR>" & vbCrLf
  44. For I = 0 To RS.Fields.Count - 1
  45.     Response.Write "<TD align='center' bgcolor='"& fondo_color_titulos &"' "
  46.     Response.Write "style='color: "& color_titulos &"; font-family:"& font_titulos &"; font-size: "& size_titulos &"'><B>"
  47.     Response.Write RS.Fields(I).Name
  48.     Response.Write "</B></TD>" & vbCrLf
  49. Next 'I
  50. Response.Write vbTab & "</TR>" & vbCrLf
  51. Do While not RS.EOF
  52.     Response.Write vbTab & "<TR>" & vbCrLf
  53.     For I = 0 To RS.Fields.Count - 1
  54.        Response.Write "<TD align='left' bgcolor='"& fondo_color_datos &"' "
  55.        Response.Write "style='color: "& color_datos &"; font-family:"& font_datos &"; font-size: "& size_datos &"'><B>"
  56.        Response.Write RS.Fields(I)
  57.        if isnull(RS.Fields(I)) or RS.Fields(I) = "" then response.write "&nbsp;"
  58.        Response.Write "</B></TD>" & vbCrLf
  59.     Next 'I
  60.     Response.Write vbTab & "</TR>" & vbCrLf
  61.     RS.MoveNext
  62. Loop
  63. Response.Write vbTab & "</TABLE>"
  64. RS.Close
  65. Set RS = Nothing
  66. oConn.Close
  67. Set oConn = Nothing
  68.  
  69. end if
  70.  
  71. '-----------------------------------------------------------------------------'
  72. 'Lista de tablas'
  73. '-----------------------------------------------------------------------------'
  74. Response.Write "<BR><BR><BR><BR>"
  75. Const adSchemaTables = 20
  76. Set oConn = Server.CreateObject("ADODB.Connection")
  77. oConn.Open StrConn
  78. strFiltro = Array(Empty,Empty,Empty,"TABLE")
  79. set rstSchema = oConn.OpenSchema(adSchemaTables,strFiltro)
  80. Do Until rstSchema.EOF
  81. Response.Write "Tabla: " & rstSchema("TABLE_NAME") &"<BR>"
  82. rstSchema.MoveNext
  83. Loop
  84. %>
  #2 (permalink)  
Antiguo 15/12/2009, 13:07
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 17 años, 2 meses
Puntos: 13
Respuesta: Aportación: consultar tablas de Access online

Le hice una pequeña modificación:

Código ASP:
Ver original
  1. <%
  2. If Request("tabla") = "" then
  3. tabla = Request.Form("tabla")
  4. else
  5. tabla = Request("tabla")
  6. end if%>
  7. <form action="consultatabla.asp" method="post">
  8. Tabla a consultar:<br>
  9. <input name="tabla" type="text" value="<%= tabla %>"><br><br>
  10. <input name="" type="submit"><br>
  11. </form>
  12. <%
  13.  
  14.  
  15. 'Simplemente Configurar el string de conexion'
  16. 'y la tabla a mostrar, en las siguientes variables'
  17. StrConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("/[COLOR="Red"][B]RUTA de la base de datos[/B][/COLOR]")
  18. Set oConn = Server.CreateObject("ADODB.Connection")
  19. oConn.Open StrConn
  20.  
  21.  
  22. if tabla <> "" then
  23.  
  24. '-----------------------------------------------------------------------------'
  25. 'Configuraciones visuales (no obligatorias)'
  26. color_datos = "#000000"
  27. color_titulos = "#FFFFFF"
  28. 'los colores de fondo de la tabla'
  29. fondo_color_datos = "#cbebde"
  30. fondo_color_titulos = "#475f70"
  31. 'la letra (font) de los datos'
  32. font_datos = "Verdana"
  33. font_titulos = "Verdana"
  34. 'el tamaño (size) de la letra'
  35. size_datos = "11"
  36. size_titulos = "11"
  37. '-----------------------------------------------------------------------------'
  38. 'No tocar mas abajo de esta linea si no se sabe lo que se hace'
  39. '-----------------------------------------------------------------------------'
  40.  
  41. sql = "SELECT * FROM ["& Trim(tabla) & "]"
  42.  
  43. Set RS = Server.CreateObject("ADODB.RecordSet")
  44. RS.Open sql, oConn, 3, 1
  45. Response.Write vbTab & "<TABLE cellpadding='3' BORDER='1' WIDTH='100%' bordercolor='#000000'>"
  46. Response.Write vbTab & "<TR>" & vbCrLf
  47. For I = 0 To RS.Fields.Count - 1
  48.     Response.Write "<TD align='center' bgcolor='"& fondo_color_titulos &"' "
  49.     Response.Write "style='color: "& color_titulos &"; font-family:"& font_titulos &"; font-size: "& size_titulos &"'><B>"
  50.     Response.Write RS.Fields(I).Name
  51.     Response.Write "</B></TD>" & vbCrLf
  52. Next 'I
  53. Response.Write vbTab & "</TR>" & vbCrLf
  54. Do While not RS.EOF
  55.     Response.Write vbTab & "<TR>" & vbCrLf
  56.     For I = 0 To RS.Fields.Count - 1
  57.        Response.Write "<TD align='left' bgcolor='"& fondo_color_datos &"' "
  58.        Response.Write "style='color: "& color_datos &"; font-family:"& font_datos &"; font-size: "& size_datos &"'><B>"
  59.        Response.Write RS.Fields(I)
  60.        if isnull(RS.Fields(I)) or RS.Fields(I) = "" then response.write "&nbsp;"
  61.        Response.Write "</B></TD>" & vbCrLf
  62.     Next 'I
  63.     Response.Write vbTab & "</TR>" & vbCrLf
  64.     RS.MoveNext
  65. Loop
  66. Response.Write vbTab & "</TABLE>"
  67. RS.Close
  68. Set RS = Nothing
  69. oConn.Close
  70. Set oConn = Nothing
  71.  
  72. end if
  73.  
  74. '-----------------------------------------------------------------------------'
  75. 'Lista de tablas'
  76. '-----------------------------------------------------------------------------'
  77. Response.Write "<BR><BR><BR><BR>"
  78. Const adSchemaTables = 20
  79. Set oConn = Server.CreateObject("ADODB.Connection")
  80. oConn.Open StrConn
  81. strFiltro = Array(Empty,Empty,Empty,"TABLE")
  82. set rstSchema = oConn.OpenSchema(adSchemaTables,strFiltro)
  83. Do Until rstSchema.EOF%>
  84. Tabla: <a href="?tabla=<%=rstSchema("TABLE_NAME")%>"><%=rstSchema("TABLE_NAME")%></a><br/>
  85. <%rstSchema.MoveNext
  86. Loop
  87. %>

Ahora donde mostraba el nombre de la tabla es un enlace que pinchando abre la página con la tabla, sin tener que escribirla en la caja de texto.
  #3 (permalink)  
Antiguo 15/12/2009, 13:34
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: Aportación: consultar tablas de Access online

a mi no me funcionan los links que pones en la modificacion, alpe2000
  #4 (permalink)  
Antiguo 15/12/2009, 13:39
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 17 años, 2 meses
Puntos: 13
Respuesta: Aportación: consultar tablas de Access online

Pues no sé...

En la línea 84 pon:
Tabla: <a href="consultatabla.asp?tabla=<%=rstSchema("TABLE_NAME")%>"><%......
en vez de:
Tabla: <a href="?tabla=<%=rstSchema("TABLE_NAME")%>"><%...
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 09:31.