• 締切済み

Accessのリレーションシップについて

お世話になります。 2つのテーブルがありその中のフィールドをリレーションシップでつなぎたいと思っています。 しかしフィールドのデータが以下のように違うため接続できません。 何か良い方法はないでしょうか? フィールド1   フィールド2 B00231      B002311 B00289      B002891 H04572      H045721 フィールド2のデータはフィールド1のデータの末尾に1が追加されています。 よろしくお願いいたします。

みんなの回答

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

えーと・・ フィールド1は、テーブル1のフィールド、 フィールド2は、テーブル2のフィールドで、 これらのリレーションを組みたい、という事ですか? だとしたら、これでは無理ですね。 テーブル構造の見直しをおすすめします。 例えば・・レスポンスは落ちるかもしれませんが、 フィールド2もテーブルでは末尾の1を抜いた状態で所持し、 末尾文字(1以外もあるなら)をフィールド3とでもしておいて、 必要に応じてクエリなどで合成する、とか。

non_yukichan
質問者

お礼

早速の回答ありがとうございます。 やはりこれは無理なんでしょうね。 実は書くのを失念していましたが2つのテーブルはリンクをしているテーブルなのでフィールドを追加することもできません。 行き詰ってしまってお尋ねした次第です。 別の方法を検討してみます。ありがとうございました。

関連するQ&A

  • Accessのリレーションシップ

    Access初心者です。 Access2010でデータベースを作っていて、行き詰ってしまいました。 テーブル1にフィールドABCDEFがあって、Aに主キーが付いています。(Aはテキスト型でフィールドサイズ10です。) テーブル2にはフィールドAGHがあり、Aに主キーが付いてます。(Aはテーブル1と同じです。) テーブル3にも同じくフィールドAIJがあり、Aに主キーが付いています。(Aはテーブル1と同じです。) テーブル1のフィールドAを主テーブルとし、テーブル2・3のフィールドAにリレーションを組んでいます。 この時のリレーションシップで参照整合性と連鎖更新と連鎖削除にチェックを入れ、種類が一対一になりました。 その後、テーブル1でレコードを追加しようとすると、「テーブル'2'にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更を行うことができません。」と出ます。 これを解決する方法はどうするのか、お教えお願いします。 分かりにくい説明ですいません。

  • Access2013のリレーションシップについて

    Access2013を勉強しています。 リレーションシップについて参考書(2冊)を見ていて疑問を持ったのですが、 二つのテーブルでリレーションシップを定義したいそれぞれのフィールド名は同じ名前だとうまくいかないのでしょうか?参考書では、値は同じ(例えば1、2、3・・・)は同じなのにフィールド名は微妙に違う名前をつけているのですが(例えばテーブルAでは顧客IDでテーブルBでは取引先ID)・・・ 宜しくお願いします。

  • access2002のリレーションシップについて

    accessで作ったデータベースで新たにリレーションシップを設定しようとすると、まだ自分では何も設定していないにも関わらず勝手にリレーションシップが設定されていることがあります。 内容としては「MSysAccessStora」というフィールドリスト名で内容はDateCreate/DateUpdate/Id/Name/ParentId/Type とフィールド名が並んでいます。 これは何でしょうか? このデータはFOM出版のMOS対策テキストのデータなのですが、こんな名前のテーブルなどは存在しないのですが・・・ わかる方いらっしゃったらよろしくお願い致します。

  • accessリレーションシップ 1つのフィールド対2つのフィールド

    困っているので質問します。 テーブルAのフィールドをテーブルBのフィールドとリレーションシップを結ぶ時、テーブルAの1つのフィールドをテーブルBの2つのフィールドにリレーションシップを張ろうとするとできません。 例)テーブルA=元号テーブル         元号テーブルには元号CDと元号の2つのフィールドがあります。   テーブルB=管理テーブル 管理テーブルには作成年月日と更新年月日という2つのフィールドがあって、それぞれに元号テーブルにある元号というフィールドを元号CDを使って引っ張ってきたいのです。 どのようにすればよいのか教えてください。

  • アクセスのリレーションシップについて

    出来上がっているデータベースの更新をしないとけなく、テーブルに追加しようとしたらリレーションシップが設定されているため追加できませんというメッセージがでます。 これは、一度リレーションシップを外して、テーブルに追加して、再度設定すればよろしいのでしょうか? 基本的なことがちょっとわかっていません。 ご存知の方よろしくお願いいたします。

  • アクセスのリレーションシップに関して

    アクセスでDBを構築して業務で使用しているのですが、容量がかなり大きくなってきたのでデータと、フォーム等による入力・検索を別DBで実施したいと思っています。そこで、元DBをコピーしてコピー先のテーブルを全て元DBからのリンクにしようとしたのですが、リンクを貼った後にテーブル名を置き換えしようとするとリレーションシップを削除しろというメッセージがでてしまいます。下手くそなシステムで、後でリレーションシップを貼りまくっているので、いちいちリレーションシップ削除・再構築をしようとすると膨大な作業になってしまいます。どなかか、リレーションシップを削除せずにテーブルを置き換える方法をご存知ないでしょうか。

  • リレーションシップ

    テーブルAとテーブルBでリレーションシップを組んでいて 紐づいてる値をどちらとも同じ変更したいのですが、 テーブルAの値を変更しようとすると、 テーブル’テーブルB’にリレーションシップが設定されたレコードが必要なので、 レコードの追加や変更を行うことはできません。 と表示され、 だったら先に、テーブルBの値を変更しようとすると、 テーブル’テーブルA’にリレーションシップが設定されたレコードが必要なので、 レコードの追加や変更を行うことはできません。 となってしまいます。 どちらも同じ値に変更したいのですが、どうすればよろしいでしょうか? テーブルAとテーブルBは一対多で参照整合性にチェックがついて紐づいています。

  • マイクロソフト アクセス リレーションシップの扱い方について

    よろしくお願いします。アクセスで作成したテーブル、例えばAとBには共通の番号があります。それぞれは各テーブル内で番号がいくつか重複しています。この番号により、リレーションシップの関連付け(参照整合性は行わず)を行った後、クエリで抽出したところ、ところどころ同じデータが発生して、膨大な量になってしまいます。参照整合性・フィールドの連鎖更新・レコードの連座削除をチェックして再度リレーションシップを作成しましたが、主テーブルで参照されている固有のインデックスが見つからないとのエラーメッセージが出ます。このテーブルA・Bを使用してデータが重複しないようにクエリで抽出する事はできますか。

  • リレーションシップ

    VB2005の DataSet.xsdファイルで、 (親テーブル)tokuisaki.tokuisakicodeフィールドと、 (子テーブル)uriage.uriagesakicodeフィールドとで、 リレーションシップを設定しましたが、 (1)制約の選択で「外部キー制約のみ」にすると、 tokuisaki.tokuisakicodeにデータがあるにもかかわらず ForeignKeyConstraintの例外が発生します。 (2)制約の選択で「リレーションシップのみ」にすると、 例外が発生しません。 (1)では、マスタにデータがあるのにどうしてエラーが発生 するかわかりません。  どなたか、わかるかたがいましたら教えてください。

  • アクセスリレーションシップについて

    こんにちは。 リレーションシップでテーブルとクエリをつないでいます。テーブルは5つあり、その中から例えば名前を入れて検索を掛けると、その5つのテーブルから該当するものを抽出したいのですが、どのようにしたらいいでしょうか?? 一応テーブルをす繋げるところまでは出来ていますので、検索して抽出をかける方法を教えて頂ければと思います。 説明が不十分かもしれませんが、ご教授願います!

専門家に質問してみよう