すいません、どなたか教えて下さい。

フォームに入力したメールアドレスを、SQLを使ってテーブルに書き込む処理において、
以下のようなコードを書きました。

DoCmd.RunSQL
("INSERT INTO NewTable (MailAddress, field1,field2, field3)
 SELECT " & MailAddress & ", " & NewData1 & ", " & NewData2 & ", " & NewData3 &";")

MailAddressはString型の変数で、フォームに入力されたメールアドレスは
一旦ココに格納されます。
で、これを実行するとメールアドレスの@(アットマーク)が抜けてしまうらしく、
SQLの構文でエラーになってしまうのです。

 例)[フォームにて入力]
   [email protected] (MailAddress変数に格納)
   ↓
   [エラー]
   実行時エラー '3075'
   クエリー式 'omaemona

   2ch.net' の 構文エラーです。

これは@が何か別な処理を行っている、と言う事なのでしょうか?
やはりエスケープ文字のような処理が必要だったりするのかな…。

お時間ございましたら宜しくお願いします ( ´ω`)ノ