codice:
DTPDal.Value = PrimaData()

Public Function PrimaData() As DateTime

        Dim RSPrimaData As ADODB.Recordset, miaSQL As String

        miaSQL = "select min(tbscadenzario.datascadenza) as" & _
                 " miaDataIniziale from tbscadenzario"

        RSPrimaData = New ADODB.Recordset()
        RSPrimaData.Open(miaSQL, miaConn, 1, 3)

        If RSPrimaData.RecordCount = 0 OrElse IsDBNull(RSPrimaData(0)) Then
            Return Today
        Else
            Return Convert.ToDateTime(RSPrimaData(0))
        End If

    End Function
Mi sono permesso di darti un'ottimizzazione al codice...Scusami
Cmq OrElse sarebbe come una or nel vb6, ma se il primo statement (RSPrimaData.RecordCount = 0) è vero nn controlla neanke il secondo e enra subito nel blocco
Conver.ToDateTime serve x convertire i tipi e quindi evitare eccezioni del tipo invalidcastexception
Poi ho aggiunto .Value a DTPDal.Value = PrimaData() e ho tipizzato il valore di ritorno della function