La clausola Order by è attaccata alla parola precedente, com'è che non ti segnala l'errore? Che database usi?
Inoltre spiegami a che serve il Do While se non c'è nulla dentro
codice:
Do While Data1.Recordset.EOF
Loop
...e dove viene valorizzato lblCerca.

CIAO