Newsgroup: it.comp.lang.visual-basic
Titolo: OrdinalPosition con ADO

 
Scusate, ma non ho trovato risposta alla mia domanda su Google: usando DAO
potevo verificare la posizione di un Field tramite la Proprietą
OrdinalPosition. Tra le Proprietą dei Field di ADO non compare nulla del
genere.
Come avete risolto?
Grazie!!!
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Come avete risolto?
ci avevo lavorato iooooooo......
:-)))
OrdinalPosition non è gestibile da tutti i database, quindi è una 
proprietà specifica di Access...
per poterla vedere da ADO, devi scorrere la collection Properties 
dell'ADODB.Field e vedrai che te la ritrovi lì...
good coding!!!
--
Alletun
"Se ti va di spassartela adesso
Prendi il Vettore oggi stesso."
Terre Desolate - Stephen King
Inviato da 
www.mynewsgate.net

 dell'ADODB.Field e vedrai che te la ritrovi lģ...
Veramente ho gią provato, tra le properties trovo:
BASECOLUMNNAME
BASETABLENAME
ISAUTOINCREMENT
ISCASESENSITIVE
COLLATINGSEQUENCE


 COLLATINGSEQUENCE
umh, c'è qualcosa che non va...se ti connetti tramite Jet4.0 ad un db 
access 2000, la proprietà sono altre. A memoria, mi vengono in mente 
Nullable, Jet OLEDB:Allow zero-length e cose simili...
perchè tu non le vedi?
adesso sto andando a mangiare, poi magari faccio una prova, ok?


 good coding!!!
Grazie!!! Per completezza ti indico che la stringa di connessione che uso è:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MioDb & ";Jet
OLEDB:Database Password=" & MiaPWD & ";"
La cosa, però, dovrei riuscire a farla pure quando mi connetto ad un DB
MySQL...
Ciao!!!


 MySQL...
hai ragione. beccati questo codice che ho appena scritto, che però comunque non 
risolve il problema.
Private Sub Command1_Click()
Dim conn As ADODB.Connection
Dim catalog As ADOX.catalog
Dim campo As ADOX.Column
Dim i As Long
Set conn = New ADODB.Connection
Set catalog = New ADOX.catalog
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data 
Source=C:\Documenti\db1.mdb;Persist Security Info=False"
conn.Open
catalog.ActiveConnection = conn
Set campo = catalog.Tables("Prova").Columns(0)
For i = 0 To campo.Properties.Count - 1
    Debug.Print campo.Properties(i).Name
Next
conn.Close
Set conn = Nothing
Set catalog = Nothing
End Sub
aggiungi nei riferimenti Microsoft ADO Ext. 2.8 for DDL And Security
devi usare ADOX.Column e puoi vedere le proprietà specifiche di access, tra cui 
però non c'è OrdinalPosition.
aiuto, non mi ricordo....


 good coding!!!
Thanks, appena ho un secondo provo!


> good coding!!!
[snipped]
Se il tuo scopo è quello di ottenere i campi ordinati per posizione
ordinale puoi usare l'esempio:
   Set cnn = New ADODB.Connection
   With cnn
      .CursorLocation = adUseClient
      .Provider = "Microsoft.Jet.OLEDB.4.0;"
      .Open "Data Source=" + mydatabasename + ";"
 
   End With
   Set rsSchema = cnn.OpenSchema(adSchemaColumns, _
        Array(Empty, Empty, mytabename))
   rsSchema.Sort = "ORDINAL_POSITION"
   Debug.Print "Results using the OpenSchema method"
   While Not rsSchema.EOF
      Debug.Print rsSchema!COLUMN_NAME
      rsSchema.MoveNext
   Wend
=======================================================================
Se mi vuoi scrivere togli le maiuscole
Sveltolampo 
ctenizaMALED...@hotmail.com
=======================================================================