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<%
tabla = Request.Form("tabla")
%>
<form action="consultatabla.asp" method="post">
Tabla a consultar:<br>
<input name="tabla" type="text" value="<%= tabla %>"><br><br>
<input name="" type="submit"><br>
</form>
<%
'Simplemente Configurar el string de conexion'
'y la tabla a mostrar, en las siguientes variables'
StrConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("/[COLOR="Red"][B]RUTA de la base de datos[/B][/COLOR]")
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open StrConn
if tabla <> "" then
'-----------------------------------------------------------------------------'
'Configuraciones visuales (no obligatorias)'
color_datos = "#000000"
color_titulos = "#FFFFFF"
'los colores de fondo de la tabla'
fondo_color_datos = "#cbebde"
fondo_color_titulos = "#475f70"
'la letra (font) de los datos'
font_datos = "Verdana"
font_titulos = "Verdana"
'el tamaño (size) de la letra'
size_datos = "11"
size_titulos = "11"
'-----------------------------------------------------------------------------'
'No tocar mas abajo de esta linea si no se sabe lo que se hace'
'-----------------------------------------------------------------------------'
sql = "SELECT * FROM ["& Trim(tabla) & "]"
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sql, oConn, 3, 1
Response.Write vbTab & "<TABLE cellpadding='3' BORDER='1' WIDTH='100%' bordercolor='#000000'>"
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write "<TD align='center' bgcolor='"& fondo_color_titulos &"' "
Response.Write "style='color: "& color_titulos &"; font-family:"& font_titulos &"; font-size: "& size_titulos &"'><B>"
Response.Write RS.Fields(I).Name
Response.Write "</B></TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf
Do While not RS.EOF
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write "<TD align='left' bgcolor='"& fondo_color_datos &"' "
Response.Write "style='color: "& color_datos &"; font-family:"& font_datos &"; font-size: "& size_datos &"'><B>"
Response.Write RS.Fields(I)
if isnull(RS.Fields(I)) or RS.Fields(I) = "" then response.write " "
Response.Write "</B></TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf
RS.MoveNext
Loop
Response.Write vbTab & "</TABLE>"
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
end if
'-----------------------------------------------------------------------------'
'Lista de tablas'
'-----------------------------------------------------------------------------'
Response.Write "<BR><BR><BR><BR>"
Const adSchemaTables = 20
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open StrConn
strFiltro = Array(Empty,Empty,Empty,"TABLE")
set rstSchema = oConn.OpenSchema(adSchemaTables,strFiltro)
Do Until rstSchema.EOF
Response.Write "Tabla: " & rstSchema("TABLE_NAME") &"<BR>"
rstSchema.MoveNext
Loop
%>