Newsgroup: it.comp.lang.visual-basic
Titolo: Estrarre da una tabella Nome e Tipo dei campi

Come si fa una cosa del genere? Cioè il nome è facile... io creo un
recordset e son una select carico il recordset(RS) e il nome del primo campo
sarà RS(0).Name ... Ma x sapere che tipo di campo è? Cioè se è testo,
contatore o Si/No ecc x quanto riguarda Access e altro x altri DB...
E poi mi chiedevo se esiste una tabella completa che raffigurasse da una
parte tutte le tipologie esistenti x i campi di una tabella di qualsiasi DB
e il corrispondente in VB6
1000 Grazie!!!

 e il corrispondente in VB6
Vedi la documentazione di DAO, ADO e SQL Server (BOL)

> Vedi RS(0).Type
Ho provato ma mi vengono fuori dei numeri come 3 e 202 dove posso leggere a
cosa corrispondono??? Ho visto sulle MSDN ma non ho trovato riscontri ne
mettendo le parole "Recordset" x cercare le proprietą, ne con "Type", ne con
"3" o "202" ...
Cmq grazie anche per la tempestivitą :O)

*Francy* ci ha deliziati con queste righe
 Quote:

MSDN -> Recordset -> Di Tipo Tabella -> Scorri infondo fino a TYPE
trovi la tabella delle costanti di restituzione , poi potresti fare dei
confronti o una select ... non so tipo :
if Rs(posizione).type = dbDouble then msgbox "Double" ....
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 if Rs(posizione).type = dbDouble then msgbox "Double" ....
Si ma mi tornano valori sballati esempio un campo text mi torna come integer
o un campo contatore mi torna "202" che non esiste... possibile che sia
access come DB che ha canoni sballati??? Grazie!!!

 possibile che sia access come DB che ha canoni sballati??? Grazie!!!
umm non so , mai provato , posta un pochino di codice magari del punto in
cui leggi cosi vediamo ... !


 cui leggi cosi vediamo ... !
Eccoti accontentato :o)
Importo sia i riferimenti di ADO 2.7 che di DAO 3.6
'Connessione DB
    Dim DB As ADODB.Connection
    Dim RS As ADODB.Recordset
    Dim i As Integer
    Set DB = New ADODB.Connection
    Set RS = New ADODB.Recordset
    If optODBC(0).Value Then
        DB.Open txtNomeODBC
    Else
        DB.Open txtStringaODBC
    End If
    'Selezione del Nome e Tipologia dei campi
    RS.Open "select * from " & txtNomeTabella, DB, adOpenDynamic
    For i = 0 To RS.Fields.Count - 1
        MsgBox TypeName(fldCiclo.Type)
    Next i
[CUT]
Public Function TypeName(iType As Long) As String
    Select Case iType
        Case dbBigInt
            TypeName = "Big Integer"
        Case dbBinary
            TypeName = "Binary"
        Case dbBoolean
            TypeName = "Boolean"
        Case dbByte
            TypeName = "Byte"
        Case dbChar
            TypeName = "Char"
        Case dbCurrency
            TypeName = "Currency"
        Case dbDate
            TypeName = "Date"
        Case dbDecimal
            TypeName = "Decimal"
        Case dbDouble
            TypeName = "Double"
        Case dbFloat
            TypeName = "Float"
        Case dbGUID
            TypeName = "GUID"
        Case dbInteger
            TypeName = "Integer"
        Case dbLong
            TypeName = "Long"
        Case dbLongBinary
            TypeName = "Long Binary"
        Case dbMemo
            TypeName = "Memo"
        Case dbNumeric
            TypeName = "Numeric"
        Case dbSingle
            TypeName = "Single"
        Case dbText
            TypeName = "Text"
        Case dbTime
            TypeName = "Time"
        Case dbTimeStamp
            TypeName = "Time Stamp"
        Case dbVarBinary
            TypeName = "VarBinary"
        Case Else
            TypeName = "Indefinito"
    End Select
End Function

 Eccoti accontentato :o)
[cut]
Siamo sicuri che quella Function TypeName sia corretta?
Strano che si possano usare costandi di DAO (db), alcune mai viste, per
ottenere tipi di campo ADO...
Ohhh, domando, eh!