Most SQL Queries will work with an Access Database, as it happens the Access front end uses mainly SQL queries to processes its data, so yes should be able to use IF EXISTS when working with the Access database. (General info link:
Access and SQL[
^])
In your VB code, you should implement Try Catch Finally blocks so that you can do correct error handling.
The general format is something like:
Try
..Code...
Catch exception As type
....Code to work with expected exception...
Catch exception as system.exception
....code to handle unexpected exceptions....
Finally
... clean up code....
End Try
Further details on this can be found from Google and from
MSDN[
^]
the ADO.Net objects (in your code example the OLEDB.... objects) well throw specific error types which you can catch. You can then look for keywords/phrases in the exception message(s) and present user friendly messages back to the user.
In addition, if you were to implement the IF EXISTS method for inserting new records, you could return -1 from it if it already exists or return the assigned ID after the insert if it didn't exists. That way you don't have to have a catch to look for a duplicate, instead just process the result of the query.
There is a lot of available resources on the internet that give examples of all of these concepts, hence not going into detail but highlighting possible approaches which should help you find examples you can use in your code.