• 締切済み

アクセス2007の使用方法についてです。

二つのデータを、以下のような形で結合したいのですが データ量が20万ほどもあるため、エクセルでできません。 そのため、アクセスで結合する必要があるのですが、 ほとんどアクセスを使った事がないため、やりかたを教えて頂きたく… シート1 ID・・・重複は無し。数値。 ミョウジ・・・カタカナテキスト ナマエ・・・カタナカテキスト アドレス・・・半角英数字 pass・・・半角英数字 シート2 ID・・・重複は無し。数値。シート1のものと同じもの      (但し、シート1のものより若干データが多い) 残高・・・数値 で、これらをIDを元に一つのシートにしたいんですが、 どのように処理したら良いでしょうか? 漠然とリレーションシップとかいう機能を使えばいいのかな…と 考えているのですが… 何卒お力添えを頂きたく存じます。

みんなの回答

回答No.3

>ほとんどアクセスを使った事がないため、やりかたを教えて頂きたく… それでは、たとえAccessでデータをひとつにして使えないのでは? この掲示板だけでACCESSの使い方を覚えようというのでしたら、間違いです。 Excelと違いAccessは入門書できとんと学習しないと、いつになっても自分で使うことができないままでしょう。 それともひとつにするためだけにAccessを使いたいということでしょうか? ExcelのVlookupなどで行えばいいのではないでしょうか? 動作は遅いでしょうが、地道に数千~数万ずつ関数でおこってはコピー・値貼り付けで値にしていけば、それほど負荷は掛からないでしょう。

  • kuroizell
  • ベストアンサー率55% (95/170)
回答No.2

>シート2は残高データになり、会員が退会すると >会員データは消えますが、残高データはそのまま残る場合があるためです。 一人の会員に対して複数の残高データがあるワケではないのなら、テーブル一つで済むのですが・・・ まぁ、一応テーブルを二つ作ります。 ・会員テーブル  会員ID  ミョウジ  ナマエ  アドレス  pass ・残高テーブル  ID  ← 件数分だけ、ひたすらただの連番。  会員ID  残高 残高テーブルの会員IDで、「会員テーブルの中の、誰の残高か」を決めます。残高の増減の記録を残さないのならあまり意味ありませんが。 とりあえず20万件頑張ってください。 Excelで5万件×4ファイルくらいデータ作っておいて、後でインポートするくらいが精一杯出来るラクです。 リレーションの設定は、会員テーブル.会員ID → 残高テーブル.会員ID を結びます。関係は1対多です。このとき連鎖させておけば、会員を削除すると残高データも一緒に消えます。 残高は残しておきたい場合は、会員テーブルに一時退会のチェックボックスでもつけておけば良いでしょう。 後はフォーム作成ウィザードで両方のテーブルを全部選んで、テーブル2をサブフォームにしたらOKです。 まずは少ないサンプル件数でどのようなカンジになるか、確認して見てください。

  • tag1701
  • ベストアンサー率54% (67/123)
回答No.1

シート1とシート2のIDの関連はどうなっているのでしょうか? どちらも重複なしなのにシート2のデータ数が多いということは 残高データがあるIDはあるが、そのIDに合致する名前の テーブル(多分シート1?)が無いという事でしょうか? 逆なら納得できるのですが(名前の登録は完了しているが、残高の 発生が無い者がいる、とか)。。。 とりあえずリレーションを組む事は可能ですが、ID数の多いほうを 主として設定する事になると思います。

masahiro44
質問者

補足

>どちらも重複なしなのにシート2のデータ数が多いということは >残高データがあるIDはあるが、そのIDに合致する名前の >テーブル(多分シート1?)が無いという事でしょうか? その通りです。 あまり詳しくは説明できませんが、シート1は会員データで、 シート2は残高データになり、会員が退会すると 会員データは消えますが、残高データはそのまま残る場合があるためです。

関連するQ&A

  • Excel。英数字カタカナ混ぜこぜのセルで、カタカナのみ全角にする方法は?

    とっても基本的なことで困ってます。 Excelの1つのセルの中に、英数字カタカナがごちゃ混ぜのデータが入っています。英数字は全角の場合もあれば半角の場合もありです。片仮名もしかり。 そのデータを、英数字のみ半角にし、カタカナは全角に修正したいんです。 間違ってASC関数を使ったら、カタカナまで半角になっちゃった・・・・。 本日午後一のミーティングにそろえなきゃいけない資料なんです! 誰かーーー! 助けてーーーー!!

  • ACCESS2000で半角→全角に変換したいのですが・・・

    よろしくお願いします。 ACCESS2000で、データーベースを作成しているのですが、 テーブルの作成でデーター入力を、英数字・カタカナを半角・全角混在して入力してしまいました。 これらを一括して、全角に直したいのですが、どのようにしたらいいでしょうか? よろしくご指導下さい。お願いします。

  • EXCEL 「ASC」関数  英数字の全角を半角に変換するよい方法があれば教えてください

    EXCELで入力しているデータをフィルターを使用して検索できる データベースにしたいのですが、以前からの入力しているデータの英数字が全角、半角が混在していてます。 フィルター検索の際に全角で入力すると半角入力のものがヒットしないので不便で、英数字の半角統一にしたいと考えています。 ASC関数を使用して英数字の全角→半角を行なうこと考えたのですが ASC関数ですとカタカタも半角カタカナに変換されるので 英数字だけを全角→半角にする関数や方法などあれば教えてください。 入力データは 漢字、ひらがな、カタカナ、英数字が混在しています。 希望 全角→漢字、ひらがな、カタカナ 半角→英数字 宜しくお願い致します。

  • アクセスクエリで英数字のみ半角にすることは可能?

    アクセスクエリで英数字のみ半角にすることはできますか?カタカナは全角のままにしたいです。 「アアアAAA111」 のデータがあり、更新クエリで UPDATE テーブル1 SET [テーブル1].[フィールド1] = StrConv([テーブル1]![フィールド1],8); をすると 「アアアAAA111」 になってしまいます。 「アアアAAA111」 にするにはどうすればいいでしょう? カタカナ+英字+数字になってるわけではなくランダムです。

  • Access リレーションシップ データ型について

    リレーションシップとクエリ内部結合の違いについて リレーションシップとクエリ内部結合(リレーションシップ)の違いは参照結合性や連鎖更新、連鎖消去設定の差だけでしょうか? データ型のオートナンバーは一度使用した番号はレコードデータを消去しても、二度と使えないのでしょうか? 任意の番号に指定しようすると、オートナンバー型のIDフィールドに連結されているため編集できません となります。

  • accessでテキスト型のフィールドサイズについて…

    accessで作った受注管理のデータを抜き出してクロネコヤマトのi-cats(b2)に入力するように作りました。 b2のデータ交換規約(?)の方のテキスト型のフィールドサイズの指定が 半角英数字10文字 となっていたり、 15文字/30文字 全角/半角 というようになっています。 質問なんですが このフィールドサイズにぴったり合うようにフィールドサイズの設定をするにはどうしたらいいでしょうか? また、半角英数字・半角カタカナ・数字等、特定の文字の種類だけ入力できるようにたりしたいです。 もうひとつ別の質問です VBAで、設定したフィールドサイズよりも大きいテキストを入れようとするとエラーが出るんですが、VBAで後ろを切り捨てたりして入るサイズに縮める方法を教えてください。 長くなりましたが宜しくお願いします。

  • Accessでクエリに規則性の無い重複データが

    Accessに二つのテーブルを作りました。 Tユーザー情報 ・ユーザーID ・郵便番号 ・性別 T都道府県 ・都道府県名 ・郵便 Tユーザー情報には都道府県のデータがないため、 T都道府県とひもづけたいのです。 続いてクエリを作成しました。 ・ユーザーID(Tユーザー情報) ・性別(Tユーザー情報) ・郵便番号(Tユーザー情報)→リレーションシップ:郵便(T都道府県) ※結合プロパティで「両方のテーブルの結合フィールドが同じ行だけを含める。」 ※無効な〒番号のユーザーは省きたいため ・都道府県(T都道府県) 結果、Tユーザー情報の件数よりも、クエリのレコードの件数が多くなってしまいました。 ユーザーIDを見ると、全く同じレコードが数行混ざっていました。 重複レコードはそれぞれ件数が違い、規則性も見つかりません。 全体で10万件のうち8千件くらいの重複データができてしまいます。 googleで調べると、もともと重複データのあるレコードを削除する方法は あるようですが難しく、そもそも重複データを作らない方法が見つかりません。 クエリの作り方が間違っているのでしょうか… どうぞよろしくお願い致します。

  • Access DLOOKUP使用して重複入力を可能にする方法

    Accessのフォームで個人データを入力するよう、色々設定している最中ですが、 重複データを残したいのに、 エラー等出て、どうも上手くいきません・・・>< Accessに詳しい方、どうか教えてください!!!!!!! <現在の設定> ---テーブル「個人リスト」--- ・個人ID(オートナンバー) ・姓 ・名 ・生年月日 ・前回の記録 フォームにてじゃんじゃか入力中に、以前に入力した同一の姓・名・生年月日の人を、 下記設定でわかるようにしました。 (ちなみにこれはある方から教えていただいたものです) ---フォーム「個人リストフォーム」--- (更新前処理:生年月日にて) work1 = DLookup("個人ID", "個人リスト", "生年月日 = #" & Forms!個人リストフォーム!生年月日 & "#" & " AND 姓 = '" & Forms!個人リストフォーム!姓 & "' AND 名 = '" & Forms!個人リストフォーム!名 & "'") If IsNull(work1) Then '重複データが無い場合は NULLが返ります else  msgbox("個人ID=" & work1 & "に同じ人がいます")  end if これで、同一の人がいたらメッセージで以前入力時の個人IDが出ます。 *私のしたいこと* (1)同一の人は新個人IDを取って入力したい。 (2)上記メッセージが出たら、その場で前回のデータ(フォーム)を閲覧できるようにしたい。   ※現在、閲覧しようとするとエラーが出ます。   エラー「インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。      重複の値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください」   ※一度エラーが出ると、入力した姓・名・生年月日を書き換えようとしても、同じエラーが出て書き換えできない。。 (3)できることなら、以前の入力個人IDを「前回の記録」に反映させるようにしたい。   例)前回の記録 [ID858、ID1085] ※何度でも・・・ (4)できることなら!(2)前回のデータ(フォーム)が別画面でぱっと出るようにしたい!  こんな無謀?な希望をかなえてくれる方、是非是非ご伝授ください! よろしくお願いいたします!

  • Accessのデータベースの構築の仕方について

    Accessのデータベースの構築の仕方について Access初心者です。 1注文書にmax3品目まで記入できる注文書データベースの構築について教えて下さい。 メインテーブルと、サブデータを作っており、 メインテーブルには、注文書Noと注文者名、日付の1注文書内の重複するフィールドを サブテーブルには、連番(max3)、品名(max3)、金額(max3)の重複しないデータとしています。 以下の様な感じです。 メイン→注文書No  1   2   2   3   3   3 サブ →連番      1   1   2   1   2   3 本当は、注文書Noを主キーにして、同じ注文書Noを入力出来ない様にしたいのですが、インデックス、主キー、リレーションシップで値が重複しているのでテーブルを変更できないというエラーメッセージが出ます。 仕方が無いので、現在は諦めて、以下の様に注文書Noでリレーションシップを組んでいます。なので注文書Noの2度打ちの可能性はあります。 メインIDもサブIDも意味が無いと思っていますが。 メイン                    サブ(主キー設定無し) メインID(オートNo)主キー      サブID(オートNo) 注文書No-----------注文書No 注文者名                   連番 日付                      品名                          金額 私のやりたいことは、一つの注文書Noに対し、max3つまで連番で紐づけて、同じ注文書Noを入力出来ないようにしたいことなのですが。 この様な場合、どの様にデータベースとして、リレーションシップはどの様にして、主キーもどの様にするのが正しいやり方なのでしょうか? リレーションシップも良く理解出来ていない状態ですが、宜しくお願いいたします。

  • アクセスでリレーションシップの一対多で参照整合性で

    アクセスでリレーションシップの一対多で参照整合性で組める条件を教えてください。 例えば、 ・数値型とテキスト型のフィールドでは繋げられない。とか ・主キー同士でないとダメ。とか ・重複するデータが入っているレコードがある場合はダメ とか・・・ どういう条件がOKでどういう条件がダメなのかよくわからなくて混乱しています。 自分で試していますが、うまくいったりできなかったりです。

専門家に質問してみよう