Newsgroup: it.comp.appl.access
Titolo: Do....Loop

Ho scritto questo, però mi compare sempre il messagio MsgBox anche
quando la data è superiore, dove sbaglio??? :-(
            Do
            Do While rstTracciato.EOF = False
            If rstTracciato!data_fine_prg_ter < strData_dim Then
            rstTracciato.MoveNext
            If rstTracciato.EOF = True Then
            GoTo AVANTI2
            End If
            GoTo AVANTI
            Else
            MsgBox "La data data di dimissione è inferiore alla data di
fine prog. ter."
            Exit Do
            End If
            Loop
: End
            'MsgBox "La data data di dimissione è inferiore alla data di
fine prog. ter."
AVANTI:
            Loop
grazie
mike
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 mike
Questo codice è parecchio incasinato, con due Goto e manca l'etichetta
AVANTI2. Non ho capito bene a cosa serva.
Prova a mandare un post dove spieghi quali sono i dati che hai e cosa vuoi
ottenere o controllare, che magari ti si può suggerire un sistema più
semplice di questo.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ciao Namor e grazie per avermi risposto!!!
Mi rendo conto che ho parecchie difficoltà a scrivere sto codice:
dunque semplicemente volevo confrontare delle date:
1. confronta la data_dimissione con le date_fine_prg di tutti i record 
all'interno di una query, la data_dimissione deve essere per tutti i
record
maggiore di data_dine_prg.
2. Se la condizione è verificata per tutti i record, quando arriva alla
fine
del file ( ultimo record ) esci ed esegui delle query di aggiornamento.
3. Se una sola data di qualsiasi record è superiore alla data_dimissione
mi segnali l'incoerenza.
A parole è facile ma per me parecchio difficile.
Avete dei suggerimenti da darmi??


Mike Dens ha scritto:




Ti conviene usare una query che estragga tutti i record anomali, con
data_dimissione minore di data_dine_prg. Poi ti basta aprire da codice
quella query e verificare se contiene o meno dei record. Se è vuota vuol
dire che tutte le data_dimissione sono maggiori delle data_dine_prg,
altrimenti puoi far segnalare l'incoerenza.
Così eviti di dover fare il controllo all'interno del ciclo.


 quella query e verificare se contiene o meno dei record. 
...e qui un me riesce come se fa da codice ad aprire la query....
se io scrivo
Set rstQuery = dbOpenRecordset("SELECT data_fine_prg FROM Query7;")
non funge.....
Se è vuota vuol dire che tutte le data_dimissione sono maggiori delle
data_dine_prg,
altrimenti puoi far segnalare l'incoerenza.
...per controllare se sia presente una data inferiore uso il ciclo Do??
grazi e ciao
mike 


 mike 
Se la query è salvata basta passarne ad openrecordset il nome, non serve
l'SQL. Poi se ci sono record (not EOF) fai un ciclo e li scorri.
Set rstQuery = dbOpenRecordset("NomeQuery")
with rstQuery
  if not .eof then
    .movefirst
    While not .eof
      ...controlli...messaggi...ecc...
      .movenext
    wend
  else
    msgbox "Nessuna incongruenza riscontrata."
  end if
end with


Ciao Nmaor grazi per gli aiuti....ma ci sta una cosa che mi genera
un errore:
 
Set rstQuery = dbOpenRecordset("NomeQuery") <- errore run-time 3061
Parametri insufficienti.Previsto 6
with rstQuery
   if not .eof then
     .movefirst
     While not .eof
       ...controlli...messaggi...ecc...
       .movenext
     wend
   else
     msgbox "Nessuna incongruenza riscontrata."
   end if
 end with
-- 


  end with
Se apri la query "a mano" invece che da codice, funziona? O ti chiede di
inserire i 6 parametri?


 inserire i 6 parametri?
Se apro la query "a mano" funziona!!! In realtà nella query io chiedo di
inserire una data ( data_dimissione ) dopo di che la query generata mi
visualizza tutte le date < di data_dimissione. A questo punto eseguo il
codice
che mi hai suggerito. 
ciao
mike


Mi genera un errore  del tipo Sub o Function non definita
nella riga
set Query = dbOpenRecordset("query")
boh!!!
ciao e grazie
mike


 mike
Manca il punto (tra db e OpenRecordset).
