Newsgroup: it.comp.lang.visual-basic
Titolo: Ciclo for da tebella Access

Buongiorno,
mi serve un aiuto per generare una procedura che partendo da una tabella 
dati
Nome -> Testo
Cognome -> Testo
Chiamare -> Si\No
Chiamato -> Si\No
Apra questa tabella e partendo dal primo record mi esegua una determinata 
funzione (gia in essere) solo per i record che sono valorizzati a Vero (Si) 
nel campo Chiamare e che al termine del cliclo, prima di passare al record 
successivo, mi aggiorni a Vero (Si) il campo Chiamato.
Mi sono perso in un bicchier d'acqua ... un vostro aiuto č davvero 
fondamentale, senza scherzi!
Non mi occupo di VB, lo svolgo solo occasionalmente, in prevalenza lavoro 
con VBA ma oggi, su questo progettino VB6 mi sento davvero smarrito ...
Grazie,
MC 

 successivo, mi aggiorni a Vero (Si) il campo Chiamato.
immaginiamo che rsTabella sia il recordset che contiene i dati della tua 
query, quindi
with rsTabella
	do while not .eof
		if .fields("chiamare").value then
			chiamata alla tua funzione
			.fields("chiamato").value = true
			.update
		end if
		.movenext
		doevents
	loop
end with
se poi la valorizzazione del campo "chiamato" è subordinata al risultato 
della tua funzione chiamata, è sufficiente che inserisca le due righe in 
un blocco if then
ciao
stefano

[cut]
l'ho detto che mi stavo perdendo...grazie mille!
MC

Scusa, forse non capisco, ma non facevi prima con una query di 
aggiornamento?
Poteva essere una cosa del genere:
MioDB.Execute "UPDATE MiaTabella SET Tabella1.Chiamato = True WHERE 
((Tabella1.Chiamare)=True)"
Ciao!
    Alex

Oops!
Volevo dire:
MioDB.Execute "UPDATE MiaTabella SET MiaTabella.Chiamato = True WHERE 
((MiaTabella.Chiamare)=True)"
Riciao!
    Alex

[cut]
Ma io non devo aggiornare a true tutti i false,
dovevo passare record per record e solo sui true effettuare una determinata 
azione ... valorizzando poi a true un altro campo impostato a false per 
default.
Quelli a False invece ... skippati di default!
Ciao
-- 
**********
Mavero

Si', scusa, avevo letto di fretta.
Mi sono accorto solo dopo aver mandato il post.
    Alex

 Mavero
Ciao.
-- 
Sergio MAZZA 

 WHERE Chiamare = False '<-- solo dei record che hanno il campo a False
Si è vero, però Mavero ha specificato che deve scorrersi tutti i record 
valorizzati a true e chiamare una funzione (già esistente),
poi probabilmente questa funzione gli dovrà dire se settare a false un 
determinato campo oppure no,
io almeno l'ho interpretata così.
ciao
stefano

 stefano
(premessa)E' possibile che mi faccia delle pippe mentali e non sto' 
giudicando il tuo suggerimento, ma a mio avviso c'è un errore di fondo 
nell'approccio del problema di Mavero.
Se l'aggiornamento del campo a true non è condizionato (quello che fa la 
funzione e i parametri che riceve non sono stati dichiarati) per me anche 
questa sortisce lo stesso effetto:
'---
Update nomeTabella Set Chiamato = nomeFunzione(Chiamato)
Function nomeFunzione(Chiamato as boolean) as boolean
...altro codice...
if Chiamato = 0 then
    nomeFunzione = -1
endif
...altro codice...
End Function
'---
Ma (e qui forse la pippa mentale) tutto questo, ha senso se ...altro 
codice... non influisce nel ritorno del valore a nomeFunzione?
Ossia; Mavero rischia comunque di ritrovarsi il campo Chiamato aggiornato a 
prescindere dalle istruzioni eseguire nella funzione.
Diverso è il caso:
'---
Update ...
Function nomeFunzione(Chiamato as boolean) as boolean
if Chiamato = 0 then
    ...altro codice...
    nomeFunzione = ...risultato (true/false) esecuzione altro codice...
endif
End Function
'---
In questo caso so se la funzione ha eseguito con successo le istruzioni e 
potrò aggiornare a true il campo Chiamato.
Spero di essere stato più chiaro...
Ciao.
-- 
Sergio MAZZA 

 Ciao.
ciao
stefano


-- 
Sergio MAZZA 

 stefano
Ciao.
-- 
Sergio MAZZA 

 Ciao.
E' il mio newsreader che ha problemi oppure nei tuoi due post precedenti 
non c'era scritto nulla?
ciao
stefano


Eh! Eh! Mi è partito due volte il tasto.
Comunque ho letto con piacere il fatto che ci siamo capiti...
Ciao.
-- 
Sergio MAZZA 

 Ciao.
ciao
stefano

 Sergio MAZZA
Ciao Sergio
Daniele 

 Daniele
Ciao.
-- 
Sergio MAZZA