There are some things wrong in your code:
First, where do you set the connection string?
Dim con = new OleDbConnection(.....connection string here ....)
The connection string is essential to open the database, without it you cannot call the Open method on the connection. This site contains a lot of connection strings examples, included the one for Access 2003 ConnectionStrings
Second, you need to use a parameterized query to avoid problems if your text to search for contains a single quotes (and of course to avoid Sql Injections)
Third, you don't need to query two times the database just to discover if there are records returned by the query. You could directly bind the return to your grid or test the number of rows returned in the table List
of the dataset
Dim ds As New DataSet
Using con = new OleDbConnection(......constring....)
Using cmd = new OleDbCommand("SELECT * FROM moviedb WHERE Title Like ?", con)
con.Open()
cmd.Parameters.AddWithValue("@p1", "%" & item & "%")
Using da = New OleDbDataAdapter(cmd)
da.Fill(ds, "List")
DataGridView1.DataSource = ds.Tables("List")
End Using
End Using
End Using