Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/12/2009, 07:38
monxas
 
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. %>