Ciao Alex,
di seguito il codice completo, con le modifiche da te apportate (grazie).
Il problema però persiste. Benchè la Query1 contiene 3 records, e in effetti li conta, restituendo il messaggio "3", il codice esegue l'operazione 3 volte sul primo record.
Il fine è quello di prendere il path di ogni record e salvare il pdf (contenuto nel path) nella cartella origine assegnandogli come nome il numero dell'ID.
Private Sub Comando143_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim ConteggioRighe As Long
'Apertura DB
Set db = CurrentDb
'Apertura recodset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Query1", dbOpenDynaset)
If rs.BOF And rs.EOF Then
MsgBox "VUOTO NON C'E' NULLA"
Exit Sub
End If
rs.MoveLast
'Mi posiziono sul primo record
rs.MoveFirst
ConteggioRighe = rs.RecordCount
MsgBox "N. Righe = " & ConteggioRighe
Do Until rs.EOF
F1 = path
F3 = "C:\Users\Davide\Desktop\test\origine\" & ID & ".pdf" ' output
strParam = F1 & " " & "cat output " & F3
Debug.Print strParam
retVal = Shell("pdftk " & strParam, 1)
varEnd = DateAdd("s", 2, Now) ' assegnare valore alla pausa
While DateDiff("s", Now, varEnd) > 0
Wend
' Passo al recordset successivo
rs.MoveNext
Loop
MsgBox ("Finito")
rs.Close
Set rs = Nothing
End Sub