Newsgroup: it.comp.appl.access
Titolo: Ciclo Do Until

E' la prima volta che mi cimento con  "Do Until"
sul un pulsante ho immesso il seguente codice
ma mi da il seguente ERRORE
'Errore di run-time "3061"
Parametri insufficienti.previsto.5
NON HO CAPITO COSA VUOLE
Private Sub ESEGUI_Click()
Dim DBS As Database, RST As Recordset
Set DBS = CurrentDb
Set RST = DBS.OpenRecordset("NOLIAGGIORNAQ")
Do Until RST.EOF
RST.MoveNext
DoCmd.OpenQuery "NOLIAGGIORNA"
Loop
RST.Close
End Sub
grazie 


La query ha 5 variabili che devono essere passate?
La do until non c'entra nulla.
-- 
ac
y-1=x

 ha scritto nel messaggio 
news:PTEwh.4504$wO2....@tornado.fastwebnet.it...

in effetti la query ha 5 criteri
ma come faccio a "PASSARLI"..
grazie 


O ricopi l'istruzione select e la passi nell'openrecordset
oppure guarda su 
www.sitocomune.com
 query parametriche
-- 
-- 
Massimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access


Ho qualche dubbio sulla logica della tua routine.
Per come la hai scritta rischi di fare 10**6 openquery ed inoltre 
perche' la movenext sta prima della openquery?
Puoi copiaincollare il sorgente della query?
In "finale" come direbbero dalle mie parti che vuoi fare?
-- 
ac
y-1=x

 ha scritto nel messaggio 
news:QnFwh.4586$wO2....@tornado.fastwebnet.it...

co da te richiesto
in pratica dovrei scorrere i record della query ed aggiornare i singoli 
record con  un'altra query di aggiornamento, non non molto pratico di sql 
pertanto utilizzo le query .. PER IL MOMENTO(spero ancora per poco),
Ecco SQL della query:
SELECT DISTINCTROW [testata partenza].NOLOCIF, [testata 
partenza].NUMFATNOLO, [testata partenza].DATAFATNOLO, [testata 
partenza].DITTATESTA, [testata partenza].VETTORE, [testata partenza].[Data 
partenza], [testata partenza].[Vagone o Targa], [testata partenza].[NUM 
BOLLA]
FROM [testata partenza]
WHERE ((([testata partenza].DITTATESTA)=[Forms]![ditta]![cmbditta]) AND 
(([testata partenza].VETTORE)=[Forms]![NOLICIFT]![cmbvet]) AND (([testata 
partenza].[Data partenza]) Like IIf([Forms]![NOLICIFT]![datatrasp] Is 
Null,"*",[forms]![NOLICIFT]![datatrasp])) AND (([testata partenza].[Vagone o 
Targa]) Like IIf([Forms]![NOLICIFT]![TARGA] Is 
Null,"*",[Forms]![NOLICIFT]![TARGA])) AND (([testata partenza].[NUM BOLLA]) 
Like IIf([Forms]![NOLICIFT]![NDDT] Is Null,"*",[Forms]![NOLICIFT]![NDDT])));
grazie 


Avevo piů o meno immaginato una cosa di questo genere.
Non e' ancora chiara la logica di aggiornamento pero'
se usi un recordset la cosa puo essere fatta in modo diverso:
Private Sub ESEGUI_Click()
  Dim DBS As Database, RST As Recordset
  Set DBS = CurrentDb
  Set RST = DBS.OpenRecordset("Testata partenza")  [o quello che e' e 
rappresenta i records da aggiornare]
  Do Until RST.EOF
	if recorddaaggiornare then  [questo se gia' non e stato filtrato il 
recordset origine]
	  rst.edit
	  rst!campo = valore dal form/me o criterio di aggiornamento campo
	  ....
	  rst.update
	end if
  	RST.MoveNext
  Loop
  RST.Close
  End Sub
come vedi una delle due query non serve se tutte e due le query traggono 
origine dalla stessa tabella. Se non e' cosi' e' comunque possibile uno 
scorrimento sincronizzato o l'aggiornamento,anche con dati provenienti 
da due tabelle, a patto che il recordset risulti aggiornabile.
-- 
ac
y-1=x

 Avevo più o meno immaginato una cosa di questo genere.

SCASAMI ma il tuo medoto non sono proprio riuscito a capirlo
sto provando con un altra strada PRENDENDO SPUNTO DAL TUO POST :
ma mi da errore run-time 13 - Tipo non corrispondente, ci ho provato ma non 
sono riuscito a mettere gli ' (apici nella giusta sintassi):
Private Sub ESEGUI_Click()
Dim DBS As Database, RST As Recordset
Set DBS = CurrentDb
Dim STRSQL As String
STRSQL = "SELECT [testata partenza].NOLOCIF," & _
"[testata partenza].NUMFATNOLO, [testata partenza].DATAFATNOLO," & _
"[testata partenza].DITTATESTA, [testata partenza].VETTORE," & _
"[testata partenza].[Data partenza], [testata partenza].[Vagone o Targa]," & 
_
"[testata partenza].[NUM BOLLA]" & _
"FROM [testata partenza]" & _
"WHERE ((([testata partenza].DITTATESTA)=[Forms]![ditta]![cmbditta])" & _
"AND (([testata partenza].VETTORE)=[Forms]![NOLICIFT]![cmbvet]) AND" & _
"(([testata partenza].[Data partenza]) Like 
IIf([Forms]![NOLICIFT]![datatrasp]" & _
"Is Null," * ",[forms]![NOLICIFT]![datatrasp])) AND (([testata 
partenza].[Vagone o Targa])" & _
"Like IIf([Forms]![NOLICIFT]![TARGA] Is Null," * 
",[Forms]![NOLICIFT]![TARGA]))" & _
"AND (([testata partenza].[NUM BOLLA]) Like IIf([Forms]![NOLICIFT]![NDDT]" & 
_
"Is Null," * ",[Forms]![NOLICIFT]![NDDT])))"
Set RST = DBS.OpenRecordset(STRSQL)
Do Until RST.EOF
RST.EDIT
RST![NOLOCIF] = 1
RST.UPDATE
RST.MoveNext
Loop
RST.Close
End Sub
I CAMPI WHERE SONO
dittatesta = numerico
vettore = numerico
data partenza = data
Vagone o targa = testo
num bolla = numerico
grazie
e da questa mattina che ci sbatto la testa

psq wrote:
[cut]

Ci stai battendo la testa poiche' rimani con in testa la query cosi come 
la avevi concepita con vba le cose possono essere diverse
Private Sub ESEGUI_Click()
Dim DBS As Database, RST As Recordset
Set DBS = CurrentDb
Dim STRSQL As String
strsql = "SELECT * from [testata partenza]"
strsql = strsql & " WHERE DITTATESTA =" &  cmbditta
strsql = strsql & " and  vettore =" &  cmbvet
if "" & datatrasp <> "" then strsql = strsql & " and  [Data partenza]=#" 
  & datatrasp & "#"
if "" & targa <> "" then strsql = strsql & " and  [Vagone o Targa]='"  & 
datatrasp & "'"
if "" &  nddt <> "" then strsql = strsql & " and  [NUM BOLLA]="  & nddt
Set RST = DBS.OpenRecordset(STRSQL)
Do Until RST.EOF
RST.EDIT
RST![NOLOCIF] = 1
RST.UPDATE
RST.MoveNext
Loop
RST.Close
End Sub
-- 
ac
y-1=x

 ha scritto nel messaggio 
news:uIJwh.5174$wO2....@tornado.fastwebnet.it...
