Newsgroup: it.comp.lang.visual-basic
Titolo: DAO, OrdinalPosition: conferma o smentita?

Ciao ragazzi,
la settimana scorsa ho litigato un po' con la proprietą OrdinalPosition dei
campi di Access usando DAO.
Lo scopo era quello di aggiungere un nuovo campo ad una tabella
preesistente, posizionandolo nella stessa posizione di un campo esistente.
Prima osservazione: non si puņ usare ALTER TABLE (nč con DAO, nč con ADO),
perchč cmq vada il nuovo campo viene aggiunto in fondo e non puņ essere
riposizionato.
Per cui, ho usato un DAO.Field e il relativo .Append, impostando
accuratamente l'OrdinalPosition.
Risultato: io mi ostinavo a controllare se andava bene o no usando la
visualizzazione dati di Access: questa visualizzazione NON FUNZIONA, perchč
il nuovo campo viene messo sempre in fondo a destra, anche se magari il suo
OrdinalPosition vale 3 su una tabella con 15 campi.
Quindi, per controllare se effettivamente č successo tutto nel modo giusto,
ho aperto un recordset DAO con SELECT *, visualizzando il contenuto in una
ListView, opportunamente inizializzata con le colonne giuste (leggendo da 0
a Fields.Count-1) e popolandola con i record del recordset.
Aprendo una SELECT * come appena detto, il nuovo campo compare nella
posizione giusta, cioč *inserito* tra i due campi che volevo, senza nemmeno
bisogno di riassegnare gli OrdinalPosition a tutti gli altri.
Ho provato velocemente anche a fare la stessa cosa con ADO, e il risultato č
lo stesso: il campo appare nella posizione voluta.
Morale: non usate la visualizzazione dati di Access, perchč frega, nel senso
che l'ordine con cui vi appaiono i campi da sinistra a destra non č quello
che magari vedete attraverso VB aprendo un recorset con *.
Io dopo quasi una settimana di lavoro, sono giunto a questa conclusione,
attendo smentite o conferme, fate voi.
:-)))
good coding!!!
-- 
Alletun
Sorry, ask me if you want to get my e-mail!

 recorset con *.
Se non ricordo male Lupo l'aveva detto di non usare Access, o sbaglio?
ciaociao

 good coding!!!

[*Marg* = 
ke...@inwind.it
 in
news:bo82vk$1atefp$
1...@ID-193795.news.uni-berlin.de
] ha scritto:

No (ma ora lo dico), avevo solo chiesto cosa usava perchè il dubbio che un
applicativo possa fare "di testa sua" ... c'era.

 Confermo tutto, anche che non leggi attentamente i post.
ue, ma lo sai che quando vuoi fare il polemico sei proprio il numero uno?
avete letto eccome il tuo post, però non è che siccome Lupo mi dice una
cosa, allora per me diventa oro colato, avrò anche io il diritto di provare
e fare i miei test, no, ti pare?


 diritto di provare e fare i miei test, no, ti pare?
Certo che sì, non ho mai avuto (e qui ne approfitto per dirlo chiaro e
tondo) la pretesa di proferire "oro colato", ma una vocina (dubbio,
diffidenza, dejàvù, esperienza?) mi diceva che quelle stranezze potevano
dipendere dall'applicativo usato per vedere i risultati. Per questo (così
era, infatti) mi son permesso di consigliarti di affidarti a qualcosa di
super-partes...
Ora, fermo restando che la tua obiezione è più che lecita e anche se
apparentemente quel che segue non c'entra 'na cippa, che farai la prossima
volta che uno dice "in questo file di testo qui c'è un CR di troppo"? Lo
consiglierai di usare NotePad, WordPad? Io no.

 super-partes...
lo so, infatti, però ho voluto testare di persona 'sta cosa. Così la
prossima volta me ne ricorderò personalmente, e non perchè qualcuno me l'ha
detto. Adesso sono convinto!!!!


 Campo.Properties("OrdinalPosition") = 4
Mi č venuto un dubbio e ho provato, dichiarando ADO e ADOX fra i
riferimenti.
Mi ha spernacchiato in faccia... Tu hai qualche trattamento di favore?