Newsgroup: it.comp.lang.visual-basic
Titolo: Conversione e concatenazione di valori interi,separati da virgola, in stringa(lunghetto)

Salvelox!!!!!!!
Un saluto festoso a tutti ^_^
Dunque, c'ho sto macello:
select distinct( IdDoc ) from Attributi
where ( IdTabella in ( 1,2,3 ) ) and
( Codice in ( 1,2,3,4,5,6,7,8,9,10,11,12,13 ) )
Questi sono valori di esempio, ovviamente.
Il mio problema è che di valori, sia in IdTabella che in Codice, posso
averne N, quindi devo poter concatenare tutti i valori.
L'idea che mi era venuta era semplice: prendo il
RecordCount su ADO, faccio un bel FOR ed ho
risolto!!!!!
Mi sono però ricordato che se ne era parlato del
RecordCount di ADO e mi sembra di ricordare che
fosse poco affidabile.
Quindi la questione si ripropone tutta intera.
Ho allora pensato una cosa bellissima:
mi creo una funzione stringa che aggiunge un valore numerico e
come parametro, oltre al valore in sè, aggiungo la possibilità di
impostare la virgola prima, dopo il valore o non impostarla affatto.
Quindi mi basterà aggiungere il PRIMO valore FUORI dal
while not RecSet.Eof e tutti gli altri dentro mettendo la
virgola prima, questo dovrebbe risolvere il problema.
Avete idee migliori?
Ciao
Andrea

 Avete idee migliori?
Aggiungi sempre
 stringa=stringa & num+1 & ","
Alla fine
Stringa=Left(Stringa,len(Stringa)-1)
Ciao
Alessandro
--
Morfeus®
Free Joint
:PII

 risolto!!!!!
I loop sui record si fanno con
Do while not rs.eof
	...
	rs.MoveNext
Loop
E non con i for!
Ciao

 Ciao
Ciao
Andrea

 Alessandro
Andrea

 Ciao
Scusa se intervengo ma non sò dove avevo letto che utilizzando i cicli
For...Next per i recordset si velocizzava rispetto ai Cicli Do...Loop
Se vuoi posso dare un'occhiata e ti rispondo meglio
ciao


 ( Codice in ( (Select ID From ...) ) )

> ( Codice in ( (Select ID From ...) ) )
Perché strutturalmente sarebbe impossibile.
Quando questa query verrà eseguita i valori nelle IN saranno già
stati scelti da una listbox, vengono caricati *tutti* e poi
selezionati dall'utente... quindi come puoi ben supporre fare una
cosa del genere è praticamente impossibile.
Andrea

 stati scelti da una listbox
Ok, chiaro. Pensavo, come dicevo, a scelte "dinamiche" dei vari ID...

 meglio e per me ha molta più utilità.
Solo che da VB4 è dichiarato come obsoleto :)
E poi che utilità in più avrebbe?
Ciao

 Se vuoi posso dare un'occhiata e ti rispondo meglio
Può darsi (ma ne dubito: il for esegue un incremento di var in più 
rispetto al do while) ma concettualmente è sbagliato.
Ciao

 Ciao
Ciao
Andrea

 Ciao
Ok ,appena trovo posto ,ma fondamentalmente mi trovi d'accordo con
te...anche se...sul rs in do ci vai 2 volte
[Chiarimento per favore] Potresti gentilmente spiegarmi perchè usare Do
While e non Do Until, oppure ne hai detto uno per dirli entrambi?
Do Until Rs.Eof 'se vero esci dal ciclo (alcuni lo scrivono Do...Loop Until
o anche qui c'è differenza?)
.
.
Loop
Do While Not Rs.Eof 'fino a quando è vero esegui il codice nel ciclo
.
.
Loop
Ciao


 volta, con While/WEnd questo non succede.
Il Do While lo puoi strutturare come
' entra nel loop solo se cond è vera
Do While (cond)
Loop
oppure
' esegue il loop almeno una volta
Do
Loop While (cond)
Questo con While - Wend lo puoi fare?
  :)
Ciao

 questo non succede.
Non sono corrette infatti :)
Do
    '...
Loop While cond
viene eseguito almeno una volta, ma:
Do While cond
    '...
Loop
viene eseguito solo se la condizione e' vera, come il
While - Wend.
Non mi stanchero' mai, inoltre, di ricordare che al posto
di:
Do While Not cond
si puo' usare
Do Until cond
piu' leggibile ed efficiente! :) Esempi pratici?
Do Until EOF(fn)
Do Until RS.EOF
Do Until MyCollection.Count = 0
Do Until ChiPiuNeHaPiuNeMetta
Happy Coding =)
Lokar
-- 
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
UGIdotNET - 
http://www.ugidotnet.org

 Lokar
Andrea