Tabelle # questa funzione legge il nome e le caratteristiche di: tabelle, query, campi e indici
'*********************************** Dim dbscurrente As database, tdftable As tabledef, qdfquery As querydef, fld As field Dim i As integer, tipo As String Dim db As database, indice As index, myrelation As relation Set db = workspaces(0).opendatabase("\protocol\protocollo.mdb") Set dbscurrente = db For Each tdftable In db.tabledefs If ((tdftable.attributes And dbsystemobject) Or (tdftable.attributes And dbhiddenobject)) Then ' ignora questa tabella di sistema Else Print chr(9) & "tabella di servizio " & tdftable.name Print chr(9) & " attributes " & tdftable.attributes Print chr(9) & " datecreated " & tdftable.datecreated Print chr(9) & " recordcount " & tdftable.recordcount Print chr(9) & " updatable " & tdftable.updatable Print chr(9) & " tabella "; tdftable.name; Print chr(9) & "nome campo attributi default lunghezza tipo " For i = 0 To tdftable.fields.count - 1 'print "; campi : -> "; tdftable.fields(i).name ' elenca le proprieta' incorporate di miocampo. Select Case tdftable.fields(i).type Case Is = 8 tipo = "data/ora" Case Is = 10 tipo = "text" Case Is = 12 tipo = "memo" Case Is = 1 tipo = "boolean" Case Is = 3 tipo = "integer" Case Is = 4 tipo = "integer" Case Is = 5 tipo = "currency" Case Is = 6 tipo = "single" Case Is = 7 tipo = "double" Case Is = 2 tipo = "byte" Case Is = 11 tipo = "long bynary" End Select Print chr(9) & tdftable.fields(i).name & chr(9) & _ tdftable.fields(i).attributes & chr(9) & _ tdftable.fields(i).defaultvalue & chr(9) & _ tdftable.fields(i).ordinalposition & chr(9) & _ tdftable.fields(i).size & chr(9) & tipo ' tdftable.fields(i).type Next i ' visualizzazione degli indici For Each indice In tdftable.indexes Print "index: "; indice.name Print " required: "; indice.required Print " ignorenulls: "; indice.ignorenulls Print " primary: "; indice.primary Print " clustered: "; indice.clustered Print " unique: "; indice.unique Print " foreign: "; indice.foreign Print chr(9) & "fields in index: "; For i = 0 To indice.fields.count - 1 Print " "; indice.fields(i).name; Next i Next cls End If Next For Each qdfquery In db.querydefs Print chr(9) & "query di servizio " & qdfquery.name Print chr(9) & " connect " & qdfquery.connect Print chr(9) & " datecreated " & qdfquery.datecreated Print chr(9) & " updatable " & qdfquery.updatable Print chr(9) & " lastupdated " & qdfquery.lastupdated Print chr(9) & " odbctimeout " & qdfquery.odbctimeout Print chr(9) & " recordsaffected " & qdfquery.recordsaffected Print chr(9) & " returnsrecords " & qdfquery.returnsrecords Print chr(9) & " sql " & qdfquery.sql Print chr(9) & " type " & qdfquery.type ' dbqselect 0 query select. ' dbqaction 240 query di comando. ' dbqcrosstab 16 query a campi incrociati. ' dbqdelete 32 query delete. ' dbqupdate 48 query update. ' dbqappend 64 query append. ' dbqmaketable 80 query per la creazione di tabelle. ' dbqddl 96 query del linguaggio per la definizione di dati (ddl). ' dbqsqlpassthrough 112 query pass-through sql. ' dbqsetoperation 128 query per operazioni set. ' dbqsptbulk 144 query per operazioni generali. Next ' elenca le relazioni. Print "relazioni: nome, tablella, foreigntable" For i = 0 To tempdatabase.relations.count - 1 Print " "; tempdatabase.relations(i).name; Print ", "; tempdatabase.relations(i).table; Print ", "; tempdatabase.relations(i).foreigntable Next i |