Database - Legge Anche Relazion iIndici Database




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
Print chr(9) & " tabella "; tdftable.name;
Print

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

Print
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
Print










( databaseleggeancherelazioniindicidatabase.html )- by Paolo Puglisi - Modifica del 17/12/2023