Originariamente inviato da krico
rettifico: non ho ancora risolto

ho provato a mettere un controllo come per msgbox così:

if date=2 then

ma niente da fare purtroppo
perchè data=2?

codice:
Public Sub cmdrpdata_Click() 
Dim data 
data = InputBox("inserisci la data per la ricerca", "PROTOMAGIC - ricerca per data") 
if data="" then
   'operazione annullata
   msgbox "Operazione annullata dall'utente"
else
   objposta.rs.Close 
   objposta.apri_rs_1parDATA "protocolli", "data", data 
   Set Adodc1.Recordset = objposta.rs 
   DataGrid1.Refresh 
end if
End Sub
Per le date tieni conto che sql tenta di riconoscierle con formato mm/gg/yyyy, poi se non la riconoscie tenta con gli altri formati.