The INSERT statement is inserting a character value 'a1'. That cannot be stored in an integer field. If a1 is a variable in the code, then maybe you are looking for this: System.Data.OleDb.OleDbCommand('Insert into MyTable1 values('+a1.ToString+')', OleCon1)From a 'best practices' perspective, it is probably better to use a parameterized query just to get in the habit of avoiding SQL injection attack problems. With an integer value, the above statement is probably okay, but it is not generally good to get comfortable with building SQL statements with simple concatenation.
Nitrodamsel, in general, when you get this kind of problem, a good approach is to open the debugger and use it to see what's going on. When you get the 'Data type mismatch' error, click the Suspend button, then type Debug in the command window.