Buongiorno a tutti.

Ho delle difficoltà con un codice che estrae dei record secondo una richiesta di una data che arriva dal form; in pratica nel form il campo "data" può arrivare vuoto o valorizzato.

Se arriva valorizzato la sql estrae where = datarichiestanelform se, invece, arriva vuoto dovrebbe estrarre tutte le date.

Quando arriva valorizzato non ho nessun problema la sql funziona ed estrae, ma quando arriva vuoto lo script va in errore sulla chiamata al mid della funzione, dove sbaglio?:
codice:
Function ConvertiData(data)
    giorno = Mid(data, InStr(1, data, "/") + 1, InStrRev(data, "/") - InStr(1, data, "/") - 1)
    mese = Left(data, InStr(1, data, "/") - 1)
    anno = Right(data, Len(data) - InStrRev(data, "/"))
    ConvertiData = giorno & "/" & mese & "/" & anno
End Function

datapr = ConvertiData(CStr(request.form("datapr")))