Accessでcsvファイルをインポートした際のメッセージを出さない

このQ&Aのポイント
  • AccessでCSVファイルをインポートする際に表示されるメッセージを非表示にする方法について教えてください。
  • インポートするCSVファイルで重複があるデータを無視してインポートする方法について教えてください。
  • Accessのインポート機能を利用してCSVファイルをテーブルにインポートする際、特定のフィールドの重複を無視することは可能ですか?
回答を見る
  • ベストアンサー

Accessでcsvファイルをインポートした際のメッセージを出さない

VBAにてCSVファイルをインポートする http://okwave.jp/kotaeru.php3?q=1705027 下記の質問で、インポートがうまくいくように 教えていただきました。 ただ、インポート先のテーブルに インデックスで「重複なし」と設定しているフィールド(数値型)が あるためインポート時に「○件はインポートできませんでした」と メッセージが表示されます。 重複しないようにインポートできないレコードがあるという インポートの結果はOKなので 「○件はインポートできませんでした」このメッセージのみ 表示したくありません。 メッセージを表示しないようにできないでしょうか?

  • Yshio
  • お礼率83% (5/6)

質問者が選んだベストアンサー

  • ベストアンサー
  • sanbit
  • ベストアンサー率32% (16/50)
回答No.1

>メッセージを表示しないようにできないでしょうか? 取り込み前に DoCmd.SetWarnings False でメッセージがでなくなります。 取り込み後 DoCmd.SetWarnings Trueに戻しておいてください。 トライください。

Yshio
質問者

お礼

うまく行きました。 早い回答をいただいて、感謝します。 ありがとうございました。

関連するQ&A

  • CSVファイルインポート時の制限について

    AccessVBAでcsvファイルをインポートするマクロを作っています。 現在、インポート定義を利用して、データ型を指定したインポートができているのですが、1点だけ問題があり、質問します。 インポートするcsvファイルのA列にIDが入力されています。 そのA列の末尾に、ID(数値型)ではない「<b>32</b><br />」という値が入っています。 Accessのテーブルでは、このIDのフィールドは数値型で管理している為、この1レコードだけ エラーとなり、エラーテーブルが作られ、また、インポート先のテーブルには空のレコードができてしまいます。 この末尾の行については、IDではない「<b>32</b><br />」以外は何もデータが入っていない為、 インポートする必要がありません。 もし可能であれば、csvファイルのA列(Accessテーブルでは数値型のIDというフィールド)が数値ではない場合、 その行のインポートをスキップするような処理がVBAで作成できるとよいのですが、可能でしたら教えてください。

  • Access2000 csvファイルのインポート

    Access2000のVBAを使用してcsvファイルを用意されたテーブルにインポートをしたいのですが、 やっかいな条件があります。 ある決められたフォルダに複数のファイルが存在している、そこから全てのCSVファイルを読み込み、3フィールド目(1行目はタイトル行)の値が「"3"」のものだけインポートする。 あるフィールドには、255文字以上のフィールド(改行文字あり)があります。このフィールドはインポートしてもしなくてもよい 今までは、インポート定義を設定してインポートしていたのですが、csvファイルを判別して、インポート前にフィールドの判別をする方法がわかりません。また、255文字以上の対応もうまくいきません。   

  • VBAでCSVファイルをインポートする方法について

    VBAでCSVファイルをインポートする方法について OS:ウィンドウズXP Access Version:2000 AccessVBAでcsvファイルをインポートするマクロを作っています。 現在、インポート定義を利用して、データ型を指定したインポートができているのですが、1点だけ問題があり、質問します。 インポートするcsvファイルのA列にIDが入力されています。 そのA列の末尾に、ID(数値型)ではない「<b>32</b><br />」という値が入っています。 Accessのテーブルでは、このIDのフィールドは数値型で管理している為、この1レコードだけ エラーとなり、エラーテーブルが作られ、また、インポート先のテーブルには空のレコードができてしまいます。 この末尾の行については、IDではない「<b>32</b><br />」以外は何もデータが入っていない為、 インポートする必要がありません。 もし可能であれば、csvファイルのA列(Accessテーブルでは数値型のIDというフィールド)が数値ではない場合、 その行のインポートをスキップするような処理がVBAで作成できるとよいのですが、可能でしたら教えてもらえないでしょうか。 ※以下はVBAを作成する為に仮に用意し、読込を行っているcsvファイルと、VBAソースになります。 ○csvファイル名:インポート用csvファイル.csv 内容: ID,テキスト1,テキスト2,テキスト3,テキスト4,メモ1,メモ2, 1,a,A,z,Z,あ,ん, 2,b,B,y,Y,い,を, 3,c,C,x,X,う,わ, 4,d,D,w,W,え,ろ, 5,e,E,v,V,お,れ, 6,f,F,u,U,か,る, 7,g,G,t,T,き,り, 8,h,H,s,S,く,ら, 9,i,I,r,R,け,よ, 10,j,J,q,Q,こ,ゆ, <b>32</b><br />,,,,,, ○VBAソース Dim FN As String Dim Res As Integer WizHook.Key = 51488399 Res = WizHook.GetFileName(0, "", "", "", FN, "", _ "csvファイル(*.csv)|*.csv", 0, 0, 4, True) WizHook.Key = 0 If Res = 0 Then DoCmd.TransferText , "csvインポート定義", "インポートテーブル", FN MsgBox "csvファイルをインポートしました", vbOKOnly End If

  • csvファイルのインポート

    Accessでcsvファイルをインポートさせようとしています。しかし、「F1フィールドがありません」のようなエラー表示が出て、できません。私の予想では、テーブルの型とcsvファイルの型が違うのではないかと思っています。テーブルには、数値型、テキスト型、日付/データ型があります。 保存したcsvファイルをExcelで開くと日付がApr-01や、2001/06/26となったりしていました。どこかで型変換のようなことをするのでしょうか?csvのことはよく分かりません。どうか、よろしくお願いします。

  • Access VBA CSVファイルのインポート

    お世話になります。 VBAにてCSVファイル(タブ区切り)をインポートするのに、 以下のように記述してますが、エラーとなります。 なお、インポート先のtempテーブルはインポートするCSVファイルの フィールドと同じ並びで予め作成したものです。 DoCmd.TransferText acImportDelim, , "temp", path, True 「実行時エラー2391 貼り付け先のtempテーブルには、'フィールド1_ フィールド2_フィールド3'フィールドがありません。」 このエラーを見る限り、フィールド1~3が一つのフィールドとして 認識されているように見受けられます。 タブ区切りなのか、カンマ区切りなのかを指定するようなパラメタは あるのでしょうか。 なお、当該CSVファイルをウィザードより手動でインポートする分には 問題無くインポート出来ます。 ************** インポートするCSVファイルはユーザーにより見出し(フィールド)の 並びが異なる場合がある為、インポート定義を予め作っておくことが できない状況です。 ご教授の程、宜しくお願い致します。

  • AccessのマクロでCSVファイルをインポートする

    Accessのマクロ・VBAにてCSVファイルを インポートしたいのですが、うまくいきません。 DoCmd.TransferText acImportDelim, , "C:\Documents and Settings\yoshimi\My Documents\顧客マスタテーブル.csv", False 現在のコードです。 「オブジェクト'0.txt’が見つかりませんでした。 オブジェクトが存在していること、名前やパス名が正しいことを確認 してください。」 とエラーが表示されます。 過去ログを検索し、似たようなものを見つけ同じようにしたつもりです。 http://okweb.jp/kotaeru.php3?q=1691138 (回答のANo.1の定義の保存場所が分からずしていません) どこがおかしいのか教えていただきたいです・・・

  • Accessのインポートについて

    マイクロソフトアクセス2010でテーブルを作り、そこにCSVファイルを読みこませたいです。 テーブルのフィールドはテキスト型です。 例えば、Table_TESTというテーブルにF1というテキスト型のフィールドを設けます。 Access標準のTEXTインポート機能を使い、インポートを行おうとします。 CSVファイルのデータは、「12345678912345678ABCD」といったように数値とアルファベットです。 なぜか、このようなデータをインポートする時にデータ変換エラーと表示されて、正しくインポートできません。 これは、なぜこのような現象が起こるのでしょうか?

  • Access2000のCSVファイルのインポートについて

    Access2000でCSVファイルをインポートしようと思っています。 インポート方法は、VBAで 「DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名"」を使用しています。 この時に、CSVファイルが次のようなデータです。 F1,F2,F3 0010,0200,0001A12 0011,0201,0021B12 (実際は、1000件近いデータです) これをインポートすると、 F1,F2,F3 10,200,1A12 11,201,21B12 となってしまいます。 頭の「0」を省きたくないのです。 文字列として取り込めないでしょうか? CSVのデータに""を自動でつける方法はないでしょうか? Accessの外部データの取り込みを使うと、文字列として指定できるのですが、VBAを使いワンクリックでデータを取り込もうとしています。 よろしくお願いします。

  • Access(アクセス)でのインポートについて

    テーブルのインポートでエクセルファイルをインポートしたいのですが「ワークシートインポートウィザード」の画面でテーブルを指定して保存すると 「Microsoft Access」の画面で「すべてのデータをテーブルに追加できませんでした。 キー違反のため、0件のレコードのデータが失われ、0件のレコードが削除されました。」と出てきて、保存できません。 もとのテーブルのデータ型を使ってインポートするにはどうしたらいいのでしょうか。よろしくお願いします。 インポートする元のデータ(エクセル)とインポート先(アクセス)の関係は次の通りです。 エクセルファイル    アクセスのテーブル (セルの書式設定)   データ型、フィールドサイズ --------------------------------------------- 数値          数値型、長整数型 文字列         テキスト型、16 インポートする前に元のエクセルデータをアクセスのデータ型に合わせただけではダメなのでしょうか

  • ACCESS2000での大量データ処理

    CSVファイルの情報をACCESS2000にインポートして集計処理をしたいと考えてます。 CSVファイルの構成は、20フィールド(全て文字属性)で1レコード、1400レコードで1件となっております。(この仕様を変更する事は出来ないのが条件です。) 言い直せば、1名分の情報は1400レコードあるとなります。但し、集計に使用する情報はその内の400レコードであり、1000レコードは不要です。 処理する人数は3万件ぐらいあります。 (1)1400レコード×3万件の情報をインポート出来るのでしょうか?    テーブル制限の1Gを超えないのでしょうか(テーブルサイズの参照方法も?) (2)CSVをインポートする際に、必要なフィールド400だけインポートできるVBAはあるのでしょうか?  必要不要の判別フィールドはあります。 (3)インポート後、ACCESSで400項目を1レコードにする事はできないか?255以上のフィールドのテールを処理する方法はあるのでしょうか? (4)このような大量集計を可能にするには、みなさんは何を使用しているのでしょうか? よろしくお願いいたします。

専門家に質問してみよう