• 締切済み

Access2000:Excelにエクスポート→コンボボックスの値が別フィールドになる

Access初心者です。お願いします。 コンボボックス参照元テーブルがあり、そこに「ID」、「商品名」のフィールドがあります。 「ID」はオートナンバー型の主キーとなっています。 「商品名」はテキスト型です。 他に「購入一覧」というテーブルがあり、「店コード」、「商品名」、「購入年月日」のフィールドがあります。 こちらは「店コード」が主キーです。 「商品名」フィールドにコンボボックス設定がしてあります。 また、これらと連結したフォームがあり、そこからデータを入力していく方法となっています。 そこで「購入一覧」テーブルをExcelへエクスポートすると、「商品名」の値が「商品名」の名称ではなく「ID」になってしまいます。 <コンボボックス参照元テーブル>   ID  商品名   1   りんご   2   帽子   3   バナナ <Excelへエクスポート後の結果>   店コード  商品名  購入年月日    YY-01    1    2003/6/15    ON-12    3    2003/7/20    SK-13    2    2004/1/22 これをどうにか「ID」の方でなく、きちんと「商品名」にならないものでしょうか。 初めは「ID」が主キーのせいかと思い、「商品名」にし直したり、「ID」フィールドを削除したりしましたが、それだとテーブルにもフォームにも値が表示されなくなったり、選択のプルダウン上では表示出来ても、いざ選択したらレコード上には表示されず空白になったりとメチャクチャになりました。 ちなみに、エクスポート途中にある、「書式を保存」にすると「商品名」がちゃんと表示されます。 でもそれだと同じブック中の別ワークシートとしてはエクスポート出来なくなります。 これではあとでExcel上でまとめる作業が増えてしまいます。 何とか「商品名」の値が表示されるように出来ないものでしょうか。 Win2000/Access2000/Excel2000

みんなの回答

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> 「商品名」の値が「商品名」の名称ではなく「ID」になってしまいます。 テーブルで、ルックアップの設定をしているのかな? 実際の値は、IDが保存されていて、表示のみ商品名になっていると思います。 なので、エクスポートする場合は、クエリを作成して、結合線でIDを結んでやり、 商品名フィールドを、下のフィールド欄に入れてやればいいと思いますよ。

sydneyh
質問者

お礼

Gin_Fさん回答ありがとうございます。 確かにサンプルでクエリを行うと、きちんと表示します。 でも、今回使うテーブルでは、クエリは使用しないんです。 全データがあるテーブルをExcelに落としたいので、色々とやってみたのですが、下の方にも書いたように、何度か最初にやったことをはじめから試したところ、やっとやっと出来ました(^^;) でもなぜかは分かりません。 でも、どうもありがとうございました。

回答No.1

購入一覧テーブルはどのように作成しているのでしょうか? どのようになっているのか中身を見ないことにはわからないですが、まずはシンプルなものを作って確認してみてください。 (内容を見る限り、作りに問題がありそうです。) まず、ID・商品名のテーブルを作成します。 ID :オートナンバー型 商品名:テキスト型 (コンボボックスの参照先テーブル) 次に購入一覧テーブルを作成します。 店コード:テキスト型 商品名 :テキスト型(コンボボックス) 購入日 :日付型 (コンボボックスの参照を作成) 次にフォームを作成します。 (購入一覧テーブルを基準にして) 購入一覧テーブルをエクスポートしてみます。 きちんと表示されますか?

sydneyh
質問者

お礼

kyoichi-tiさんさっそくの回答ありがとうございます。 再び一から簡単なものを作ってみました。 でもやはりIDの値がエクスポートされてしまいました。 仕方ないので、コンボの参照先テーブルのIDフィールドを削除し、もう一度購入一覧のテーブルのコンボボックス設定をテキストに戻して、再びコンボの設定にしてみたら、出来ました(-_-;) なんなんでしょうね。 一度IDを削除したら表示もされなくなる現象が起こったのに。 これはもう、「基礎から勉強しろ!」ってことかと思い、どっさりガイド買ってきました。 今読んでるところですが、いまだ「Accessとは」の章なので判明不可能です(^^;) 少しでも理解できたら、その時なぜそうなったのか分かることでしょう。 どうもありがとうございました。

関連するQ&A

  • Accessのコンボボックスの使い方について

    初心者です。 コンボボックスの使い方について教えて下さい。 商品テーブルA 商品名|コードA|コードB|コードC| マスターテーブル A|B|商品名|コードA|コードB|コードC|D|E のような2つのテーブルを作成し、マスターテーブルの「商品名」に コンボボックスで商品テーブルAの商品名を表示させるとします。 そこでコンボボックスで商品名を選択すると同時に 商品テーブルAからほかの「コードA」「コードB」「コードC」の値を マスターテーブルの「コードA」「コードB」「コードC」に入れる方法は ありますでしょうか? また、他の方法はありますでしょうか? 宜しくお願い致します。

  • Accessコンボボックスについて(初心者)

    例えば以下のような2フィールドのテーブルがあり 商品コード 商品名 1111  パソコン   ・     ・   ・     ・ フォームでひとつのコンボボックスを作る際このテーブルを参照し、2フィールドとも表示され、なおかつ入力出来るようにしたいのですが・・。 表示はするものの入力となると商品コードのフィールドのデータしか入力出来ません。 要は商品コードを入力すれば同じレコードの商品名が入力出来るようになれば良いので、別のやり方があればかまわないのですが・・。 良きアドバイスをお願いします。

  • コンボボックスの2列目の値を表示させる方法はありま

    アクセス2003です。 コンボボックスの2列目の値を表示させる方法はありますか? テーブル1には ID 会社名 1 山田建設 2 田中株式会社 といれ、 テーブル1をレコードソースとするフォームを作り、コンボボックスを設置し そのコンボボックスのプロパティは 値集合タイプ:テーブル/クエリ 値集合ソース:テーブル1 列数:2 にしました。 この場合、コンボボックスで値を選択した後は、一番左側の数字がコンボボックスに入力されますが 左から2列目の値を表示させる方法はありますか? IDと会社名のフィールドを順番を変えることなく、IDが左、会社名が右にしたいです。 エクセルで例えると http://www.moug.net/tech/exvba/0090021.html と同じようなことをアクセスで行いたいです。 プロパティではなくエクセルのようにVBAで配列を使うしかないのでしょうか?(コードもわかりませんが) よろしくお願い致します。

  • コンボボックスで違うフィールドを表示

    アクセス2000を使用しています。 コンボボックスの値集合ソースにテーブル/クエリを指定し、料金テーブルを指定しています。 <料金テーブル>にはフィールドが2つあります。 ID 料金 1 1000 2 2000 3 3000 という具合ですが、便利上つけていますが、IDはコンボボックスに表示したくありません。 1000、2000、3000というのだけ選択できるようにするにはどうしたらよいのでしょうか? 連結列でできたような気がしたのですが、どう試してもできませんでした。

  • Accessのコンボボックスのデフォルト表示

    Access初心者です。 フォームのコンボボックスですが、ウェブフォームでよく見られるように、未選択時に「---選択してください---」というコメントを表示できないでしょうか。 「---選択してください---」はデータとして入らないような解決法でお願いします。 VBAでMe!コンボボックス名.Value = "AAA"というふうにやってみましたが、どうもValueはテーブルのデータ型と同じでないとダメみたいです。テーブルの当該フィールドには例えば都道府県IDのように、数値だけしか格納しない予定ですので、これでは「このフィールドに入力した値が正しくありません」というエラーが出ます。 なお使っているのは2013です。いい解決法がないでしょうか。よろしくお願いたします。

  • 【Access】コンボボックスの値の変更方法

    フォームにコンボボックスを配置し、下記の動作をさせたいと思ったのですが、1は出来たものの2が出来ませんでした(値集合ソースの中身は表示されるものの、選択してもコンボボックスに反映されませんでした)。 1. フォームオープン・・・データベースのcmb1の値より、対応する文字をコンボボックスに表示する。 2. コンボボックスの値の変更・・・プルダウンから値集合ソースに表示されている任意の値を選択し、コンボボックスに設定する。 その為、どうすれば値を変更できるようになるかアドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 なお、初期状態から下記を変更しております。 【テーブル】 テーブル名:tbl フィールド名:ID,cmb1 値:1,2 【フォーム】 フォーム名:form1(コンボボックスを一つ配置) フォームのレコードソース:SELECT Choose(tbl.cmb1,"A","B","C") AS nm_cmb FROM tbl WHERE (((tbl.ID)=1)); コンボボックス 列数:2 列幅:0cm;3cm コントロールソース:nm_cmb 値集合タイプ:値リスト 値集合ソース:1;A;2;B;3;C 連結列:2 上記の状態で起動時のコンボボックスの中身は"B"と表示されるものの、コンボボックスのプルダウンメニューを表示して値を変更しようとしても出来ない事が確認できると思います。 以上、よろしくお願いします。

  • Access2000 コンボボックスで…

    こんにちは。Accessは…初心者です。 フォーム上のコンボボックスについての質問です。よろしくお願いします。 Windows2000/Access2000です。 次のようなテーブルがあるとします。 「作家」…作家ID,作家名 「作品」…作品ID,作家ID(「作家」テーブルから[作家名]を引っ張ってきます)作品名 「許諾」…許諾ID,作家ID(「作家」テーブルから[作家名]を引っ張ってきます),作品ID(「作品」テーブルから[作品名]を引っ張ってきます),許諾情報 「許諾」テーブルを元にして、フォームウィザードから単票形式で「許諾フォーム」を作成しました。 このとき[作家ID]と[作品ID]は自動的にコンボボックスになりますが、[作品ID]コンボボックスに、[作家ID]コンボボックスで選択した作家の作品のみを表示したいのです。 ([作家ID]でAさんを選択したら[作品ID]にAさんの作品だけが表示されるようにしたい、ということです。) 似た内容の質問を参考にしたり、いろいろなAccessのサイトを検索したりして試したのですが、イマイチ???でした。 何かよい方法がありましたらご教示ください。 お願いします。

  • アクセスのコンボボックスウィザードについて。

    アクセスのコンボボックスウィザードで、 進んでいきますと、 最後から3番目の画面で、 『コンボボックスで行を選択すると、 その行の値をデーターベースに保存したり、 値をあとで使うことができます。 一意に行を特定できるフィールドを選択してください。 データベースに保存または使用する値は、 コンボボックスでどの列に含まれていますか?』 と出てくるのですが、 これのメッセージの意味が分かりません。 主キーになっているものを選ぶ必要がある、と 聞いたことがあるのですが、 どういうことなのでしょうか? 主キーじゃないものを選ぶとどうなるのでしょうか? どのフィールドを選択しても、 画面上では何も変わらないのでさっぱり意味が分かりません。 初心者です。 どうか宜しくお願い致します。

  • Access コンボボックスを使って抽出

    Access2000・Windows2000を使用しています。 レコードの抽出をしたいと思います。テーブルは1つ、フィールドには日付・商品名・業者名・単価・・・とあります。フォームで「商品名から抽出(コンボボックスから商品を1つ選ぶ)」または「業者名から抽出(コンボボックスから業者を1つ選ぶ)」(コンボボックスから商品を1つ選ぶ)出来るようにし、なおかつ今月のレコードのみ表示させたいのですが、まずそのテーブルを1つ作成した時点でつまづいてしまっています。 どなたかご教授お願いします。

  • accessのコンボボックスについて

    質問があります。下記のようなテーブルがあります。 ▼商品情報テーブル  ・商品ID (番号はオート。キー)  ・商品番号(自社で設定している商品ごとの番号)  ・商品名 これを「受注伝票」フォームに使用します。 商品番号をコンボボックスで指定すると 商品名が別のテキストボックスに自動で表示。 もし登録されていない商品の場合には 商品番号と商品名をその場で登録して商品情報テーブルに反映させたい。 コンボボックスで選択する際はID順ではなく、 商品番号の昇順で並び替えたいと思います。 商品番号は数値ではなくテキストになっています。 弊社では「i0001、i0002...」のように、商品番号の頭に「i」が付くからです。 ACCESSのバージョンは2002です。 どうぞよろしくお願いいたします。

専門家に質問してみよう