Conocer propiedades de tabla

Hola:
Estoy trabajando en una pag. Web y necesito acceder a las propiedades de una tabla de access. Te explico.
Cada cierto tiempo importo una tabla de access y necesito tener acceso a su su fecha de modificación. Te agradecería si pudieras ayudarme.
Gracias.

3 Respuestas

Respuesta
1
Tienes la tabla de sistema MSysObjects. El campo DateUpdate te devuelve la fecha de moficación.
He conseguido ver los campos de la tabla con una select desde access.
select * from MSysObjects;
Mi duda es como la select desde fuera de access.
Por favor podrías indicarme como hacerlo con por ejem. una tabla llamada clientes.
Muchísimas gracias.
Tienes que hacerlo con ADO. Creas un objeto ADODB. Connection y abres la conexión con la base de datos. Luego, con el mismo objeto, ejecutas la sentencia SQL, y te devolverá un Recordset donde podrás acceder al contenido.
Respuesta
1
Tengo entendido que Access no te brinda información acerca de la fecha de la última modificación de una tabla. Lo que se me ocurre que podrías hacer es manejar un campo que te lo indique.
¿Podrías aclararme un poco como hacerlo porque no tengo ni idea?
Gracias.
Me refiero a mantener un campo dentro de la tabla que te interese usar en el que guardes la fecha actual cada vez que actualices la tabla.
¿Se entiende?
Respuesta
1
Te envio un ejemplo que yo utilizo para listar las tablas de una base de access y luego los registros de cada tabla.
Justamente en este caso hago lo mismo qeu vos, subo un archivo de access y listo todo lo qeu hay adentro.
Fijate en www.asp101.com/samples/ .. creo que hay un ejemplo de como hacer esto.
Saludos y suerte
Nico
<%
Response.Flush
Set connSegnet = Server.CreateObject("ADODB.Connection")
cnpath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Server.Mappath("bases/segnet.mdb") & "';"
connSegnet.Open cnpath
Set objRS = connSegnet.OpenSchema(adSchemaTables)
If Not objRS.EOF Then objRS.MoveFirst
Response.Write "<table border='0' cellPadding='2' cellSpacing='2'>" & chr(10)
Response.Write "<tr>"
Do While Not objRS.EOF
' Rule out everything but tables and don't list system tables.
' Note MSys is only for OLEDB.
If objRS.Fields("TABLE_TYPE") = "TABLE" AND Left(objRS.Fields("TABLE_NAME"), 4) <> "MSys" Then
Response.Write "<td class=tblTitulo align=center width=100>"
if trim(request("tabla")) = trim(objRS.Fields("TABLE_NAME")) then
Response.Write "<b>"
else
Response.Write "<a href='BIARTSegnetHabilitados.asp?accion=VerTabla&Tabla="
Response.Write Server.URLEncode(objRS.Fields("TABLE_NAME")) & "'>"
end if
Response.write objRS.Fields("TABLE_NAME")
if trim(request("tabla")) = trim(objRS.Fields("TABLE_NAME")) then
Response.Write "</b>"
else
Response.Write "</a>"
end if
Response.Write "</td>"
End If
objRS.MoveNext
Loop
Response.Write "</tr>"
Response.Write "</table>"
set objRS = nothing
Response.Flush
if request("accion") = "VerTabla" then
sTableName = request("tabla")
sSqlString = "SELECT * FROM [" & sTableName & "]"
if request("orden") <> "" then sSqlString = sSqlString & " ORDER BY [" & request("orden") & "]"
Set RSResult = Server.CreateObject("ADODB.Recordset")
RSResult.Open sSqlString, connSegnet, adOpenForwardOnly, adLockReadOnly
If Not RSResult.EOF Then RSResult.MoveFirst
Response.Write "<p><table border='0' cellPadding='2' cellSpacing='1'>" & chr(10)
Response.Write "<tr>"
For I = 0 to RSResult.Fields.Count - 1
Response.Write "<td nowrap class=tblTitulo>"
Response.Write "<a href='" & Request.ServerVariables("script_name")
Response.Write "?accion=VerTabla&Tabla=" & Server.URLEncode(sTableName)
Response.Write "&Orden=" & Server.URLEncode(RSResult.Fields(I).Name)
Response.Write "'>"
Response.write RSResult.Fields(I).Name & "</a></td>" & chr(10)
Next 'I
Response.Write "</tr>"
Do While Not RSResult.EOF
Response.Write "<tr>"
For I = 0 to RSResult.Fields.Count - 1
Response.Write "<td>"
If IsNull(RSResult.Fields(I).Value) Or RSResult.Fields(I).Value = "" Or VarType(RSResult.Fields(I).Value)= vbNull Then
Response.write " "
Else
if instr(1,RSResult.Fields(I).Name,"mail") then Response.Write "<a href='mailto:" & RSResult.Fields(I).Value & "'>"
Response.Write RSResult.Fields(I).Value & chr(10)
if instr(1,RSResult.Fields(I).Name,"mail") then Response.Write "</a>"
End If
Response.Write "</td>"
Next 'I
Response.Write "</tr>"
Response.Flush
RSResult.MoveNext
Loop
Response.Write "</table>"
RSResult.close
set RSResult = nothing
end if
connSegnet.Close
set connSegnet = nothing
%>
Lo que necesito no es mostrar el contenido de la tabla sino acceder a sus propiedades como fecha de creacion de modificación etc..... los cuales no son campos de la tabla sino propiedades de la misma.
Gracias.
Ahh, lo que queres mostrar son las propiedades del archivo .. seria como cualquier archivo ...
Seria asi...
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set file = fs.GetFile(Server.MapPath("base.mdb"))
Tamaño: file. Size
Fecha Creacion: file. DateCreated
Fecha Modificacion: file. DateLastModified
si no sabes qeu clase de archivo es .. y queres mostrar el tipo de archivo, podeias hacer file.Type
no me acuerdo mas propiedades, fijate en la ayuda que debes tener mas ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas