• ベストアンサー

アクセスのルックアップフィールドでルックアップリストを変えても既入力データが変わらないでほしいのですが

アクセスでルックアップフィールドを使って商品型番を簡単に選択して入力したいのです。 商品型番は通常6種類程度と少ないのですが、時々型番が変わるのでルックアップリストを修正すると既入力データも変わってしまうので困っています。 既入力データ(ルックアップフィールド列データ)を変えずに行う方法はないものでしょうか? 商品型番は6種類と少ないので古いものもリストに残せばいいという考えもありますが、不要な型番が蓄積したリストというのも見にくいですし。 ルックアップフィールド以外の方法で回避する方法でもかまいませんが、VBAなどはまだかじってませんので、よろしくお願いします。

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

  • ベストアンサー
回答No.1

テーブル上でルックアップフィールドを作っても 表示コントロールをコンボボックスにしてテキスト型の商品名を 入力する形であれば既入力の値は変わらないと思うのですが・・。 商品マスタテーブルが ID 商品 1  AAA 2  BBB となっていて 商品フィールドに1を入れていれば 1をCCCに 書き換えると値は変わりますが、ここに商品AAAを入れる形を取れば 商品マスタテーブルでAAAを書き換えても変わりません。 実際にデータを入れるフィールドをテキスト型にしてルックアップタブで 表示コントロール : コンボボックス 値集合タイプ : テーブル/クエリ 値集合ソース :SELECT [商品マスタテーブル].[商品名] FROM 商品マスタテーブル; として下さい。(商品名はフィールド名 商品マスタテーブルの部分は テーブル名に書き換えて下さい)

f_tekki
質問者

お礼

教えていただいたとおりに設定したところ 私の希望する動作となりました。 なぜ、リレーション?が働いたのか不明ですが ルックアップウィザードを使って設定したせいか、 フィールドが数値になっていました。 ありがとうございました。 助かりました。

その他の回答 (1)

回答No.2

ウィザードでルックアップフィールドを作成すると、自動で リレーションシップが組まれます。 ウィザードで多分IDと商品名フィールドを両方表示という形に されたのではないかと思いますよ。 この時に商品名フィールドだけを表示という形をとれば フィールドはテキスト型になり、テキストフィールドとリレーションが 組まれますが、参照統合などにチェックをつけなければ、既存の値は変わりません。

関連するQ&A

  • Access2007でルックアップのリストに数字が出る

    Access2007でルックアップの設定を行うと、リストに数字が出てきてしまいます。↓のような場合どのようにしたら、文字列のリストを作れますか? テーブル1: 主キー フィールドA 01   収入 02   支出 テーブル2: 主キー フィールドA(テーブル1のルックアップ) フィールドB 01   収入                 給与 02   収入                 その他 03   支出                 光熱費 04   支出                 食費 テーブル3: 年月日   フィールドB(テーブル2のルックアップ) H21/05/01 『ここのルックアップ列をテーブル2のフィールドAとフィールドBを選択するとフィールドAの値が01、02・・・と表示されてしまう。』 両方のフィールドのルックアップを文字列で表示するにはどうしたらいいですか? ※上記解決方法が困難な場合はテーブル3に於いて、テーブル1のルックアップの値を指定してから、その値に対応するテーブル2のレコードを選択する方法でもいいです。 できれは両方知りたいです。 宜しくお願い致します。

  • アクセスのテーブルでのルックアップフィールド表示

     いつもお世話になっております。  ACCESS2016を使用しています。  お聞きしたいのは、条件によってテーブルのルックアップフィールドに表示されるデータを変えたいのですが、その方法が分かりません。  フォームでのやり方は分かりますが、テーブルで表示させたいと思っています。  例えば、下記のようなテーブルがあるとします。 [入力用テーブル名:T_元号別担当者] 元号フィールド、担当者フィールド 平成      a 平成      b 令和      c 令和      d [ルックアップ用テーブル名:T_平成担当者] 担当者フィールド a b [ルックアップ用テーブル名:T_令和担当者] 担当者フィールド c d  イメージは、元号フィールドが平成の場合、担当者フィールドにT_平成担当者を、 元号フィールドが令和の場合、担当者フィールドにT_令和担当者をルックアップとして 表示させたいと考えています。  このやり方をどうぞご教示お願いいたします。

  • access2003初心者です。データの入力について

    access2003初心者です。 受注明細を作成しています。 商品ごとに商品の発送方法が決まっています。 テーブルまたはフォームで商品情報を入力をするときに、 最初のフィールドまたはコントロールで、リストから商品を選択して、 次のフィールドまたはコントロールで、リストから発送方法を選択します。 そこで発送方法をa~hの8種類から選択するのですが 商品Aの発送方法はa,bの2種類、 商品Bだとb,c,dの3種類の中のいづれかの発送となるので それ以外はリストになくてよいのです。 つまり、先に入力した値によって、 次に入力できる値に制限を加えたいのですが、 どうすればよいのかわかりません。 この一連の動作の名前すらわからないほどの初心者です。 よろしくお願いします。

  • 入力フィールドの開き方を教えてください

    現在、アクセス2003を使用してデータベースを組んでいます。 その中で商品をテキストボックスにカナ読みを入れてコンボボックスに商品名を表示させるようにしていますが、リストに商品がなかった時、データフィールドに直接、商品名を入力できるようにしたいと思います。 具体的には次のような方法を考えています。 テキストボックスにカナ読みを入れる           ↓ ヒットしなかった時は、入力フィールドが表示される(通常は、入力フィールドは不可視にしておき、入力するときに表示されるようにする)           ↓ 表示された入力フィールドに入力する 以上のようにしたいのですが、その方法をご存知の方は教えてください。 なお、通常表示されるフィールドは編集ロックをかけています。

  • Access2003でフィールドのデータがずれる

    WindowsXPを使用しています。 時々、100件以上あるレコードの内1件だけ、 データがおかしくなります。 具体的には、フィールド2に入力してあったデータが、 フィールド4と6に入っていたり、 フィールド3に入力していたデータが、 フィールド8,9,10に1文字ずつ分割して入っていたりします。 バックアップデータで確認したところ、 1ヶ月程前はそのレコードも正しく入力されていたため、 入力ミスではないと思います。 データが変になる原因がわかりません。 原因がお解かりになられる方、ご回答を宜しくお願いいたします。

  • リストのデータを入力できないようにしたい

    Excelで、入力したくない文字列のリストがあります。 この文字列以外のデータは入力できるが、 リストの文字列のみ入力できないようにするにはどうしたら いいでしょうか。 要するに、入力規則のリスト設定の逆がやりたいのですが・・・。

  • ルックアップフィールドについて

    Accessをデータベースにして練習中です。 テーブルが複数あり、デザイナで基本フォームを作ってあります。 参考書にルックアップフィールドの作成の仕方が載っていたのですが わからなくなってしまったのでどなたか教えてください。 下のコードを実行すると、ルックアップフィールドが空白になってしまいます。 データセット名:業務DataSet 登録社員テーブル:社員ID、氏名、住所、電話の4列 成績テーブル:社員ID、成果、残業時間の3列 成績テーブルに対応したフォームをデザイナで作成。 社員IDは「社員IDComboBox」、ルックアップフィールドはツールボックスから作り、「氏名TextBox」にしました。  ルックアップフィールドのTextBoxに社員IDに対応した氏名を表示したいと思っています。   Private Sub 社員IDComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 社員IDComboBox.SelectedIndexChanged If 社員IDComboBox.Text = "" Then Exit Sub      End If Dim dr As 業務DataSet._登録社員Row dr = 業務DataSet._登録社員.FindBy社員ID(CType(社員IDComboBox.SelectedText, Integer)) If dr Is Nothing Then 氏名TextBox.Text = "" Else 氏名TextBox.Text = dr.氏名 End If End Sub 色々やっていたら何がおかしいのかわからなくなってしまいました。 すみませんが教えてください。 それと、ComboBoxに登録社員テーブルの社員IDの一覧を表示しようと思ったらどのようにすればよいのですか?

  • ACCESSでのデータ入力について

    Accessでデータを入力しているのですが、何度も同じ内容を入力する場合があります。そこで前のデータと同じ内容が出た時、コピーする方法はありますか? 多分直前のレコードのフィールドをコピーする方法はあったような気がするのですが・・・。また、会社のデータなので、勝手にVBAを使うことはできませんので、それ以外の方法でお願いします。

  • アクセス2007 ルックアップについて

    アクセス2007で社員の経歴を入力するため、ルックアップ機能を使おうと思っています。 社員経歴テーブル(A)と役職テーブル(B)があります。 Aのフィールド「経歴役職」にBのフィールド「役職名」をルックアップさせようと思いますが、今後、テーブルBの役職を追加するなどして役職の並びが変わると、既入力データが変わってしまうと思うのですが、既に入力されているデータは変わらないようにするには何か方法があるのでしょうか。 例えば、 テーブルB コード 役職名 1   部長 2   支店長 3   所長 と、入っていますが、 1   部長 2   副部長 3   支店長 4   所長 とした場合、 テーブルAの経歴役職が支店長で入っていた箇所が副部長となってしまうと思うのですが。。。 アクセス超初心者で、言いたいこともうまく伝えられないのですが、どうぞよろしくお願いいたします。

  • Accessのテーブル作成のルックアップウィザードで

    テーブル(T-学生)があるとします。そのほかにT-県名があると仮定します。 T-県名には県名コード、県名という2つのフィールドがあります。 そのテーブルを利用して、T-学生の県名というフィールドにルックアップウィザードを利用し、作成したいと考えています。 その際、テーブルに格納されるのは県名コードにしたいのですが、リストに表示されるのは県名だけにしたいんです。 それでルックアップウィザードを利用した後に、ルックアッププロパティでみると SELECT T-県名.県名コード, T-県名.県名 FROM T-県名 連結列 1 列数  2 列幅 0cm;3cm となっています。 入力してみると、どうしても県名が入力されてしまいます。 どこを直したらいいでしょうか?

専門家に質問してみよう