der er 2 ting du skal gøre inden dette kører:
1) denne setting skal være "checked"
Tools>Options>View>Show>System object
2) Tools>Security>User and Group Permissions
vælg MSysObjects fra listen og marker "Read data rights"
Derefter kan du køre scriptet:
<%@ language="vbscript" %>
<html><body>
<%
Dim ObjConn : Set objConn = Server.CreateObject( "ADODB.Connection" )
Dim strMode : strMode = Request.QueryString( "mode" )
Dim strDSN : strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
' hent alle databaser
if( strMode = "" ) then
Call listAllDB( Server.MapPath( "." ) )
Else
Call openConn( Server.MapPath( Request.QueryString("db") ) )
' Hent alle tabeller
if( strMode = "tables" ) Then
if( Request("db") <> "" ) Then
Call listAllTables( Request("db") )
End if
End if
' Hent alle felt i en tabel
if( strMode = "fields" ) then
if( Request( "table" ) <> "" ) Then
Call listAllFields(Request("table"))
End If
End if
Call closeConn()
end if
Sub openConn( strDB )
strDSN = strDSN & strDB & ";"
objConn.Open strDSN
End Sub
Sub CloseConn()
objConn.Close
Set objConn = Nothing
End Sub
Sub listAllDB( strFolder )
Dim objFSO : Set objFSO = Server.CreateObject( "Scripting.FileSystemObject" )
Dim objFolder
Set objFolder = objFSO.GetFolder( strFolder )
For each objFile in objFolder.Files
If( Instr( objFile, ".mdb" ) = ( LEN( objFile ) - 3 ) ) Then
Response.Write( "<a href=""?mode=tables&db=" & objFile.Name & """>" & objFile.Name & "</a><br>" )
End If
Next
End Sub
Sub listAllTables( strDBName )
Dim strTablesSQL : strTablesSQL = "select Name from MSysObjects where type = 1 and left( Name, 4 ) <> ""MSys"""
Set objTablesRS = objConn.Execute( strTablesSQL )
while Not objTablesRS.EOF
Response.Write( "<a href=""?mode=fields&db=" & strDBName & "&table=" & objTablesRS( "Name" ) & """>" & objTablesRS( "Name" ) & "</a><br>" )
objTablesRS.MoveNext
wend
objTablesRS.Close
Set objTablesRS = Nothing
End Sub
Sub listAllFields( strTableName )
Dim strFieldsSQL : strFieldsSQL = "select * from " & strTableName
Set objFieldsRS = objConn.Execute( strFieldsSQL )
For each objField in objFieldsRS.Fields
Response.write( objField.Name & " " & objField.Type & "<br>" )
Next
objFieldsRS.Close
Set objFieldsRS = Nothing
End Sub
%>
</body>
</html>
for at finde ud af hvad du kan skrive ud i 'listAllFields' Sub'en, så kan du tage en kigger her:
http://msdn.microsoft.com/library/en-us/ado270/htm/mdmscadoproperties.asp?frame=true