objDR("DOC_DATE") contains data retrieved from a database, doesn't it? And there in the database, the corresponding column may contain NULL, which gets translated into DBNull when you retireve the data into your .Net program.
The DatePart function then tries to cast that into a DateTime variable and fails: DateTime is a value type and must not be null.
Hence check for objDR("DOC_DATE") being DBNull.Value before you do that processing, as Macej told you:
If objDR("DOC_DATE") = DBNull.Value Then
MessageBox.Show("No date given!")
Else
EndIf