• 締切済み

[VB2008] datatableを使ったDB(mdb)更新でのバグ

VB2008(Express Edition)で、アクセス(mdb)のデータベース更新をしていたのですが、 テーブルのフィールド名が「No」だとデータベース更新の際、エラー終了(インサート文~というエラー)してしまいます。 http://homepage1.nifty.com/rucio/main/VBdotNet/Database/Database4.htm 上記のサイトの一番下にある方法で、Adapter.Fill(Table)で、読み込んだデータテーブルにレコードを追加し、Adapter.Update(Table)で、データベースを更新しています。 フィールド名が例えば「製造No」とかだとエラーも無いのですが、「NO or no or No or oN」だとエラー終了するみたいです。全角はまだ試してないです。 これって、何のバグでしょうか?分かる方、どうか宜しくお願いします。

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

VB2008はインストールだけして触らずじまいの者ですが(汗) > テーブルのフィールド名が「No」だとデータベース更新の際、 > エラー終了(インサート文~というエラー)してしまいます。 フィールド名として指定されている「No」が、Accessの(?)予約語に 該当しているため、フィールドと判断できていない、ということかと 思います。 (「製造No」の場合は、前に他の語がついているため区別が可能) http://support.microsoft.com/kb/286335/ja 対処法としては、これも上記URLに出ていますが、フィールドとして 指定している「No」を、半角角括弧([ ])で囲んで「[No]」にする、 ということになります。