none
VB.NETでMDBテーブル作成時のメッセージ抑制について RRS feed

  • 質問

  • お世話になります。

    現在、VB2005を利用してMDBに接続しております。

    問題となっている現象は、MDB上のテーブルをクエリを利用して作成した場合に

    既存のテーブルが存在すると「既存のテーブルが存在します・・・・」とメッセージが表示され

    「OK」ボタンを押下すると、クエリが実行されテーブルが作成しなおされます。

    このメッセージを抑制する方法をご存知の方がおられましたらご教授ください。

    ExecuteNonQueryを実行する時点で上記のメッセージが表示されます。

     

    よろしくお願い致します。

     

    以下サンプルコード

     

                oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; " + _
                "Data Source=C:\TEST.mdb"

                'コネクションの設定
                oCommand.Connection = oConn
                oConn.Open()


                'SQL文の設定
                oCommand.CommandText = "SELECT T_TEST.DATA1 INTO T_OUTPUT " _
                                     & "FROM T_TEST " _
                                     & "GROUP BY T_TEST.DATA1, T_TEST.FLG " _
                                     & "HAVING (((T_TEST.FLG)=True));"

     

                'SELECTコマンドの設定
                oDataAdapter.SelectCommand = oCommand
                 returnValue = oCommand.ExecuteNonQuery()

    2007年7月9日 9:12

すべての返信

  • 簡単な回答になってしまうのですが、テーブルの存在チェックを事前にしておけば良いのではないでしょうか?
    2007年7月9日 13:46
  •  英ちゃんさんこんばんは

    ExecuteNonQueryでメッセージまで表示してしまうのですね。知りませんでした。

    DELETE FROM と INSERT INTOの組み合わせに変えてはどうでしょうか。

     DELETE FROM T_OUTPUT;

     INSERT INTO T_OUTPUT SELECT ...;

    この方法ではT_OUTPUTテーブルはあらかじめ作成しておかなければなりません。

     

    2007年7月13日 11:08
  • 紹介して頂いた方法で回避することができました。

    ありがとうございました。

    ?ACCESSでは簡単にメッセージが抑制できるので、VB.NETでも可能かと思っていたのですが・・・

     

    2007年7月19日 13:36