The first search I perform is always successful but trying to search again after that I get the following error. Any help will be appreciated.

The first search I perform is always successful but trying to search again after that I get the following error. Any help will be appreciated.

 
    
     
    
    As EdSF points out you have no tables after the first search. This is because you set IsFind to ensure you've already searched, but you create a new dataset anyway datast = New DataSet which will have no tables.
If this was unintended, then you can do:
If datast IsNot Nothing AndAlso datast.Tables IsNot Nothing AndAlso datast.Tables("tblproduct") IsNot Nothing Then
Or the short way (VS2015+) using null propagation.
datast?.Tables?("tblproduct")?.Clear()
If this is intended, and you want a new DataSet every time, then just remove that If block, it does nothing.