The problem is that you have created the OleDbDataAdapter but you haven't assigned the OleDbCommand to it.
After;
OleDbDataAdapter b = new OleDbDataAdapter();
Put;
b.SelectCommand = dbcommand ;
or you can write it as;
b.SelectCommand = new OleDbCommand(insertCommand, datacon );
And change your query to;
string insertCommand = "INSERT into tblContact (First Name) VALUES('" + fntxtbx.Text.Replace("'","''") + "')";
Otherwise any names with an apostrophe will cause errors and open things up for a Sql injection attack.