MicrosoftAccsessで最初から準備してあるデータベースに
外部から追加でデータをインポートする際、重複データがある場合に
インポートしない方法はありますか?

もしくは、インポートしてしまった後で重複する分だけ削除する方法はありますか?

よろしくお願いします。

A 回答 (2件)

インポート先のテーブルの、重複を判断する各フィールドに


主キーかインデックス(重複なし)の設定をすれば
重複するレコードはインポート時に自動的にはじかれるはずです。

主キーの設定方法
http://www.officepro.jp/access/table/index6.html

インデックスの設定方法
http://www.officepro.jp/access/table/index12.html
    • good
    • 0

>重複データがある場合にインポートしない方法はありますか?


インポート時に特定のテーブル(ユニークキー付)にインポートならユニークキーが重複したレコードは無視されます。


>もしくは、インポートしてしまった後で重複する分だけ削除する方法はありますか?
重複クエリというのがあるのでチェックした上で、重複したデータから不要なものを選択して削除してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメールスプール一括削除をしてポート578で送信出来なくなりました。

メールスプール一括削除をしてポート578で送信出来なくなりました。

説明下手ですがよろしくお願いします。


最近Windows7に買い替えメールソフトがWindows Liveメールに変わりました。
アカウントの設定がサーバーにメールのコピーを置くという設定になっていて、サーバーがいっぱいになりぎみになり受信が出来ない状態になりました。

ので、その設定を外しましたがたまにエラーとなって返ってきたり(自分の携帯からPCにメールを送ると)していたのでプロバイダーのHPで色々調べメールスプール一括削除というのをしました。

自分では、サーバーにメールのコピーを置くという設定をしていたときのメールのコピーをすっきりさせたつもりでした。

しかしその後メールの送受信(WinLiveメールでは同期)をすると、受信は出来るのですが送信が不可に。

あれ?と思い メールスプール一括削除のことを忘れていてアカウントを削除し新規作成しましたがダメ。

システムの復元をし(このときもメールスプール一括削除を忘れてる)送受信してみるもダメ。

あ、とメールスプール一括削除を思い出しましたが直し方?がわからないので解決策を探し ネットで送信メールのポート番号がブロックされているかもとなっていたので 規定のポート25に変更しなんとか送信出来るようになったのですが・・・。

希望としてなぜそうなったのか?元のポート578では出来るように戻せないのかが知りたいです。

詳しい方教えてくれないでしょうか??

するんじゃなかったぁ~と後悔しまくりです・・・。

ちなみに
PCOS Windows7
メールソフト WindowsLiveメール
出たエラー  アカウント: '******', サーバー: '********', プロトコル: SMTP, ポート: 587, セキュリティ (SSL): なし, ソケット エラー: 10060, エラー番号: 0x800CCC0E
のようにでます。

プロバイダーはDIONでADSLです。

メールスプール一括削除をしてポート578で送信出来なくなりました。

説明下手ですがよろしくお願いします。


最近Windows7に買い替えメールソフトがWindows Liveメールに変わりました。
アカウントの設定がサーバーにメールのコピーを置くという設定になっていて、サーバーがいっぱいになりぎみになり受信が出来ない状態になりました。

ので、その設定を外しましたがたまにエラーとなって返ってきたり(自分の携帯からPCにメールを送ると)していたのでプロバイダーのHPで色々調べメールスプール一括削除と...続きを読む

Aベストアンサー

0x800CCC0Eへの対処法は決まっています。
http://121ware.com/qasearch/1007/app/servlet/qadoc?QID=011248
ですので、セキュリティ対策ソフトを終了させ、かつアカウント設定を削除して再作成しても駄目な場合は、Liveメール自体が壊れている可能性があるので、その場合はLiveメールを削除してしインストールするか、他のメールソフトをご利用下さい。

QAccess 重複するデータの処理

Access2007を利用して以下の様な事が出来ませんか?

会員番号,来店月
10000,201004
10000,201005
10000,201006
10001,201004
10001,201006

こういったデータを

会員番号,来店月
10000,201004,201005,201006
10001,201004,201006

この様に、グループ化される会員番号の行にそれぞれ配置したいのですが、方法を思いつきません。
また、以下の方法でも良いです。

会員番号,来店月
10000,201004201005201006
10001,201004201006

1列として、処理してしまう。
こちらも方法は私では思いつきませんでした。

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

Aベストアンサー

Excel発想から離れる事をお勧めします。
最初の集計方法をAccessでやるのは大変です。
二番目の方は、VBAを使えばできます。
もっとも簡単なのは、Excelにエクスポートしてから処理する事です。

興味本位で最初の集計をやってみました。
1.次のSQL文で表されるクエリを、何番目を抽出するかを変えて、最大重複数だけ作成します。
なお、元のテーブル名をT_来店履歴としています。

SELECT T_来店履歴.会員番号, T_来店履歴.来店月
FROM T_来店履歴
WHERE (((DCount("来店月","T_来店履歴","会員番号='" & [会員番号] & "' and 来店月<'" & [来店月] & "'")+1)=2));

最後から4文字目の「2」は、各グループ(会員番号が同じデータ)で、古い方から2番目の日付のレコードを抽出する事を示します。
重複数が最大10個あれば、末尾から4文字目の数字を1~10迄振ったクエリを10個作成します。

次に、クエリで、元のテーブルと、上述の例えば10個のクエリを結合して、目的の表を得ます。
3個の事例を画像で添付します。
このときのSQLは次の様になっていました。

SELECT T_来店履歴.会員番号, Q_No1.来店月, Q_No2.来店月, Q_No3.来店月
FROM ((T_来店履歴 INNER JOIN Q_No1 ON T_来店履歴.会員番号 = Q_No1.会員番号) LEFT JOIN Q_No2 ON T_来店履歴.会員番号 = Q_No2.会員番号) LEFT JOIN Q_No3 ON T_来店履歴.会員番号 = Q_No3.会員番号
GROUP BY T_来店履歴.会員番号, Q_No1.来店月, Q_No2.来店月, Q_No3.来店月;

特に最初の方法は断念される事をお勧めします。
VBAを使ってでもやりたいのだという事なら、決意を表明していただくと、2番目の集計法の回答が得られると思います。

Excel発想から離れる事をお勧めします。
最初の集計方法をAccessでやるのは大変です。
二番目の方は、VBAを使えばできます。
もっとも簡単なのは、Excelにエクスポートしてから処理する事です。

興味本位で最初の集計をやってみました。
1.次のSQL文で表されるクエリを、何番目を抽出するかを変えて、最大重複数だけ作成します。
なお、元のテーブル名をT_来店履歴としています。

SELECT T_来店履歴.会員番号, T_来店履歴.来店月
FROM T_来店履歴
WHERE (((DCount("来店月","T_来店履歴","会員番号='" & [...続きを読む

Qポートについて

ユーザが送信元ポートをA,宛先ポートをXで相手のサーバに通信して,
そのレスポンスが送信元ポートY,宛先ポートAであった場合問題なく
通信を確立できますか?
この通信のプロトコルにもよるのでしょうか?

また,ユーザが送信元ポートをA,宛先ポートをXで相手のサーバに通信して,
そのレスポンスが送信元ポートY,宛先ポートBであった場合はどうでしょうか?

Aベストアンサー

結論から言うと、そのようにアプリケーションを組めば出来るということに
なると思いますが・・開発はちょっと専門外です
ただ通常のWebサーバやwwwクライアントではそういう機能は無いと思いますよ

TCPIPのソケットプログラム作成のHPを探しましたが
本の紹介はあってもHPで分かりやすく・・というのは無さそうです
TCPIPのソケットプログラミングの本を図書館などで見ていただくのが
確実と思います・・中途半端な回答で申し訳ないです

QAccess2010で突然Excelデータがインポートできなくなった

以下の環境の下で、Access2010を使用しております。
システム環境
 OS: Windows7 Professional SP1
 Access:Access2010 14.0.7162.5001 SP2 MSO(14.0.7166.5000)
Excel:Excel2010 14.0.7166.5000 SP2 MSO(14.0.7166.5000)

実は、3月11日に、以下の操作をしたところ、Excelファイルをインポートできない症状が
起きました。(2月25日同じ操作を行ったときは正常に動きました。)

(操作内容)
 ①AccessにインポートするExcelファイルを更新
 ②インポート先のAccessファイルを開く
 ③「外部データ」タブ
  →「インポートとリンク」タブ内の「Excel」をクリック
 ④「外部データの取り込み-Excelワークシート」のダイアログボックス
  が表示
 ⑤「参照」ボタンをクリック
 ⑥①のExcelファイルが保存されたフォルダを指定し、①のExcelファイルを「開く」
 ⑦以下のエラーダイアログボックスが表示
  ウィザードが見つかりません。このウィザードがインストールされていないか、
 Windowsレジストリの設定が正しくないか、このウィザードが使用できないように
 設定されています。

 そこで、以下の点についてお伺いします。ご存知の方がいらっしゃいましたら、よろしく
お願い申し上げます。

Q1. 正常に動いた2月25日から異常が検知された3月11日までの間に実施したのは、Windows
 Updateで、これが今回のトラブルの原因になったと推察しております。問題は3月9日以下の
 通り複数のOffice関係の更新プログラムが存在し、どれが原因になったのか特定できない
 ことです。今回のWindows UpdateでAccessに問題をもたらしているのは、どのプログラムで
 しょうか。
(Office関係のUpdate)
 KB3085515、KB3114887、KB2956063、KB3114883

Q2.仮に問題となった更新プログラムが特定された場合、そのプログラムをコントロールパネル
 から、アンインストールしたら、Accessは正常な状態に戻りますか。

以下の環境の下で、Access2010を使用しております。
システム環境
 OS: Windows7 Professional SP1
 Access:Access2010 14.0.7162.5001 SP2 MSO(14.0.7166.5000)
Excel:Excel2010 14.0.7166.5000 SP2 MSO(14.0.7166.5000)

実は、3月11日に、以下の操作をしたところ、Excelファイルをインポートできない症状が
起きました。(2月25日同じ操作を行ったときは正常に動きました。)

(操作内容)
 ①AccessにインポートするExcelファイルを更新
 ②インポート先のAccessファイルを開く
 ③「...続きを読む

Aベストアンサー

KB3085515 がマズいようです。
http://winveg.com/win/windows-xp-office-update-on-09-mar-2016/

QIP固定や、ポート開放をしたつもりだったのですが、

IP固定や、ポート開放をしたつもりだったのですが、
http://www.ugtop.com/spill.shtml
でポート番号を見たところ、設定したポート番号と違う上、ページ更新をするとポート番号が変わります。
これはポートがちゃんと開放されていないということなのでしょうか?

Aベストアンサー

>ポート番号を見たところ、設定したポート番号と違う上、ページ更新をするとポート番号が変わります。

そりゃ、クライアント(ブラウザ)がサーバに接続するポート番号は固定しないのが一般的だからです。
そのページでルータやファイヤーウォールなどのポート解放(ポートフォワーディングなど)の確認はできません。

TCPポートの指定した範囲への接続を試してくれるサイトが他にあるでしょう。
# そのポートで待ち受けしているアプリが起動していないと失敗と表示されるかも知れません。

QEXCELで条件に合致したデータから、さらに重複するデータを1と数える

EXCELで条件に合致したデータから、さらに重複するデータを1と数える
ことが関数で出来るでしょうか?

例えば
  A ,B ,C
1 見積No 、担当者、商品名
2 111、山田、パソコン
3 111、山田、プリンタ
4 222、佐藤、HDD
5 333、山田、パソコン
6 444、青木、パソコン
7 555、山田、HDD

パソコンの担当者ごとの見積もり件数はという問いに対して
 山田 2件
 佐藤 0件
 青木 1件
という解答を求めたいのです。
見積Noが同じ場合は同じ見積書で明細が2行の場合で、これを1件と数えたいのです。
フィルタで絞った後に、=SUMPRODUCT(1/COUNTIF(A2:A100,A2:A100))
という関数を試しましたが、フィルタを無視して全ての件数が対象となってしまいました。
SUMに対するSUBTOTAL関数のようなものがあれば便利だったのですが…。

うまく質問出来たのか不安ですが、判る方お願いします。 m(__)m
 

Aベストアンサー

こんにちは!
外していたらごめんなさい。

↓の画像のようにSheet1のデータをSheet2にまとめるようにしてみました。
Sheet2のC2セルに検索商品名を入力すると、B列に件数を表示させるようにしています。
Sheet2の氏名欄はあらかじめ入力されているものとします。

Sheet1の作業用の列を2行使わせてもらっています。
D2セルに
=A2&C2
E2セルに
=IF(OR(Sheet2!$C$2="",C2<>Sheet2!$C$2,COUNTIF($D$2:D2,D2)<>1),"",ROW(A1))
として、D2・E2セルを範囲指定し、E2セルのフィルハンドルで下へずぃ~~~!っとコピーします。

そして、Sheet2のB2セルに
=IF(A2="","",SUMPRODUCT((Sheet1!$B$2:$B$100=A2)*(Sheet1!$E$2:$E$100<>"")))
という数式を入れ、オートフィルで下へコピーしています。

尚、数式はSheet1の100行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば幸いですが
的外れなら読み流してくださいね。m(__)m

こんにちは!
外していたらごめんなさい。

↓の画像のようにSheet1のデータをSheet2にまとめるようにしてみました。
Sheet2のC2セルに検索商品名を入力すると、B列に件数を表示させるようにしています。
Sheet2の氏名欄はあらかじめ入力されているものとします。

Sheet1の作業用の列を2行使わせてもらっています。
D2セルに
=A2&C2
E2セルに
=IF(OR(Sheet2!$C$2="",C2<>Sheet2!$C$2,COUNTIF($D$2:D2,D2)<>1),"",ROW(A1))
として、D2・E2セルを範囲指定し、E2セルのフィルハンドルで下へずぃ~~~!...続きを読む

Qポートスキャンでこちらのポートではなく相手方のポートをコロコロ変えてア

ポートスキャンでこちらのポートではなく相手方のポートをコロコロ変えてアクセスしてくるのは何故ですか?

アクセスしてきて、そのポートに入れなかったから、こちらの別ポートを探そうとしてくるならわかりますが、既にフィルタリングでブロックされて入れなかったのに、相手方のポートをコロコロ変えて入れなかったポートにアクセスし続ける意味がわからないのですが・・。
相手方のポートを変えることに意味があるのですか?

Aベストアンサー

別に変えたくてコロコロ変えているわけではないと思います

http://www.way-on.com.tw/PCbasal/internet/tcpip5.htm
「クライアントのポート番号には、OSによって動的(ダイナミック)に任意の番号を割り当てて使用されています」
ソースポート(クライアントのポート番号)は動的に割り振られますので

自分のPCでも、Webブラウザを開いて何度かアクセスしながらDOSプロンプトでnetstatコマンドを叩けばソースポートが変化しているのがわかるでしょう

Qあるデータで重複しているものを省きたい Access/Excelいずれかを使用想定

もしいい方法があればお伺いしたいですmm

注文番号 注文日  商品名 価格 仕入れ先 出荷日
12345 2014/10/11 たまご  198  倉庫A  11月 
13456 2014/11/13  牛乳 238 倉庫B 11月
 ・
 ・
 ・

上記xlsデータがあり、タイトルに準じて5000行ほどのレコードがあります。
(1行目がタイトル)

データがきれいでないため、5000行の中で重複が混在しています。
Accessであれば重複クエリーで重複したものだけをPickUpはすぐにできるとおもいますが、
その方法ではなく、

重複したものは先にある行だけを残しそれ以外は除外するという方法は
とれないでしょうか。
例:5000行あるが、重複しているデータを除くと4700行になる。
(重複している行は先頭を残して削除してダブらない行だけを出したい)

※重複となるパターン

注文番号 注文日 商品名 価格
の4項目が全く同じものが複数行ある

御手数をおかけします。

もしいい方法があればお伺いしたいですmm

注文番号 注文日  商品名 価格 仕入れ先 出荷日
12345 2014/10/11 たまご  198  倉庫A  11月 
13456 2014/11/13  牛乳 238 倉庫B 11月
 ・
 ・
 ・

上記xlsデータがあり、タイトルに準じて5000行ほどのレコードがあります。
(1行目がタイトル)

データがきれいでないため、5000行の中で重複が混在しています。
Accessであれば重複クエリーで重複したものだけをPickUpはすぐにできるとおもいま...続きを読む

Aベストアンサー

No.1です。

>これだとエクセル行分が限界でしょうか。

当然Excelの表示できる行数分が限界となりますが、
Excel2007以降であれば最終行は104万行以上になります。

理論上はその行数までのデータであればダイジョブ!というコトになります。
前回のマクロのコードをそのまま利用できますが、
データ量が極端に多い場合は
処理速度は若干遅くなる可能性があります。m(_ _)m

Qポート開放チェックとポートの状態

ポート開放チェックというサイトが多数あります。
グーグルで検索すれば何件かはヒットすると思います。

そういったサイトには必ず、ポートを使用するソフトウェアを起動します。
次にそのソフトウェアが使用するポート番号を入力します。
と書かれています。

ルーターのポートを開放し、ファイアウォールソフトのポートも開放し
ソフトを起動すればポートの開閉をチェックできるのは分かるのですが、
ルーターのポートは開放してあってもポートを使用するソフトウェアを
起動していないときのポートは開いているのでしょうか。
閉じているのでしょうか。

ふと気になったので質問させていただきました。
なお、ポートの開放の仕方を聞いているのではありません。

Aベストアンサー

未使用ポートなので状態はCLOSEDです。

QAccess 外部データ インポートエラー?

Access2010で外部データ(Excel2010)インポートで以下のエラーメッセージが出ます。

このプロパティは外部データソースまたは 前のバージョンのJetデータベースエンジンで作成されたデータベースではサポートされていません。

Excelのデータは特殊なものはありません。日付は空欄と日付以外は入っていません。
他のデータは問題なくインポートされています。
宜しくお願いします。

Aベストアンサー

直接の解決法ではありませんが、
Excelで該当データをコピー
 ↓
Accessで空のテーブルにペースト
という手順でデータのインポートができるようです。

参考URLをご参照ください。

参考URL:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1459490134


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング