<p>I want to programmatically create a new column in an MS Access table.  I've tried many permutations of <code>ALTER TABLE MyTable Add  MyField DECIMAL (9,4) NULL;</code> and got: </p>

<blockquote>
  <p>Syntax Error in Field Definition</p>
</blockquote>

<p>I can easily create a number field that goes to a <code>Double</code> type, but I want <code>decimal</code>.  I would very strongly prefer to do this in a single <code>ALTER TABLE</code> statement and not have to create a field and then alter it. </p>

<p>I am using Access 2003.</p>

The ALTER TABLE syntax is only supported in Jet 4.0/ACE while in
ANSI-92 Query Mode. Try an ADO connection e.g.
CurrentProject.Connection.Execute "ALTER TABLE myTbl ADD COLUMN myColumn DECIMAL(9,4)"