ADO - Lettura Tipo Campi







'******************************************************************

Public Sub LeggiTbl(ByVal NomeTab As String, ByVal Tbl As String)
'******************************************************************

' funzione per leggere il tipo del campo

'******************************************************************


Dim dbscurrente As Database, tdftable As TableDef, qdfquery As QueryDef, fld As Field
Dim i As Integer
Dim db As Database
Set db = Workspaces(0).OpenDatabase(NomeTab)
Set dbscurrente = db

Dim Rs As New Recordset
Rs.Open "Select * from DefaultStampe", DbAzienda, adOpenStatic, adLockOptimistic



For Each tdftable In db.TableDefs
'if ((tdftable.attributes and dbsystemobject) or (tdftable.attributes and dbhiddenobject)) then

' ignora questa tabella di sistema

' else

' Debug.Print Chr(9) & "tabella di servizio " & tdftable.Name

' Debug.Print Chr(9) & " attributes " & tdftable.Attributes

' Debug.Print Chr(9) & " connect " & tdftable.Connect

' Debug.Print Chr(9) & " datecreated " & tdftable.DateCreated

' Debug.Print Chr(9) & " recordcount " & tdftable.RecordCount

' Debug.Print Chr(9) & " sourcetablename " & tdftable.SourceTableName

' Debug.Print Chr(9) & " updatable " & tdftable.Updatable

' Debug.Print Chr(9) & " validationrule " & tdftable.ValidationRule

' Debug.Print Chr(9) & " validationtext " & tdftable.ValidationText

If tdftable.Name = Tbl Then
For i = 0 To tdftable.Fields.Count - 1
' Debug.Print Chr(9) & " tabella "; tdftable.Name;

Debug.Print "; campo : -> "; tdftable.Fields(i).Name
' Rs.Open "Select * from DefaultStampe", MConnessioneStampe, adOpenStatic, adLockOptimistic

Rs.MoveFirst
Rs.Find "NomeCampo ='" & tdftable.Fields(i).Name & "'"
If Not Rs.EOF Then

' elenca le proprieta' incorporate di miocampo.

' Debug.Print Chr(9) & "fld.name: "; tdftable.Fields(i).Name

' Debug.Print Chr(9) & "fld.allowzerolength: "; tdftable.Fields(i).AllowZeroLength

' Debug.Print Chr(9) & "fld.attributes: "; tdftable.Fields(i).Attributes

' Debug.Print Chr(9) & "fld.collatingorder: "; tdftable.Fields(i).CollatingOrder

' Debug.Print Chr(9) & "fld.defaultvalue: "; tdftable.Fields(i).DefaultValue

' Debug.Print Chr(9) & "fld.ordinalposition: "; tdftable.Fields(i).OrdinalPosition

' Debug.Print Chr(9) & "fld.required: "; tdftable.Fields(i).Required

' Debug.Print Chr(9) & "fld.size: "; tdftable.Fields(i).Size

' Debug.Print Chr(9) & "fld.sourcefield: "; tdftable.Fields(i).SourceField

' Debug.Print Chr(9) & "fld.sourcetable: "; tdftable.Fields(i).SourceTable

' Debug.Print Chr(9) & "fld.type: "; tdftable.Fields(i).Type

Select Case tdftable.Fields(i).Type
Case Is = 8
Rs!tipocampo = "data/ora"
Case Is = 10
Rs!tipocampo = "text"
Case Is = 12
Rs!tipocampo = "memo"
Case Is = 1
Rs!tipocampo = "boolean"
Case Is = 3
Rs!tipocampo = "integer"
Case Is = 4
Rs!tipocampo = "integer"
Case Is = 5
Rs!tipocampo = "currency"
Case Is = 6
Rs!tipocampo = "single"
Case Is = 7
Rs!tipocampo = "double"
Case Is = 2
Rs!tipocampo = "byte"
Case Is = 11
Rs!tipocampo = "long bynary"
End Select
Rs.Update
' Debug.Print Chr(9) & "fld.validationrule: "; tdftable.Fields(i).ValidationRule

' Debug.Print Chr(9) & "fld.validationtext: "; tdftable.Fields(i).ValidationText


End If

Next i
Rs.Close

Exit Sub
End If

' Debug.Print

' form1.Cls

'end if

Next

End Sub










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