Change your query to this:
Dim strSQL As String = "SELECT * FROM ProductMasterA WHERE BatchExpiry = (DateAdd(month,-1,getdate())"
However, the "BatchExpiry" will need to be an actual date of when you are wanting to know what the month before is. I used the getdate() function and that will check a month before that query is run. The way you are using it now will not work as it is only a string and not a variable.
Where is that value supposed to come from?