• ベストアンサー

ACCESSのマクロ?

 ほとんど初心者なので、難しいことを教えていただいてもわからないのですが、Excelで他のシートのセルを引用するのに、 =VLOOKUP(A1,[ABC]Sheet1!$A$1:$D$19,4,FALSE)  こんな感じのマクロを書きます。 これと同じことをaccessでしたいのですが、VBAで書かないと無理なのでしょうか?  accessは、テーブルをたくさん使ってクエリで処理するようですが、excelで慣れてしまっているので、理解できなくて困っています。よろしくお願いします。

  • dogs59
  • お礼率77% (279/359)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

Text2.text=DLookup("商品名","商品テーブル","商品番号='" & Me!text0 & "’")のような感じのDLookup関数があります。 DLookupでWEB検索して見てください。沢山出ます。

dogs59
質問者

お礼

 ありがとうございました。

その他の回答 (1)

  • coco1
  • ベストアンサー率25% (323/1260)
回答No.2

こんばんは。 理解できない、といわずにがんばって下さい。 データベースでは索引とリレーションを適切に設定することで、lookup系の関数を使わずに値を参照することができます。むしろ、そのような、参照することが可能な値はあえて入力しなくてもいいように設計することがポイントです。 きちんと使いこなせば、便利さはExcelの比ではありませんし、Excelのデータベース機能が如何に制約の多いものであるかわかると思います。

dogs59
質問者

お礼

 ありがとうございました。 確かに、Excelの比ではないということで、使い始めていますが、機能が多い分使いにくいのか。難しいですねぇ。なんとか、一歩づつ進んでいきたいと思いますので、今後もよろしくお願いします。

関連するQ&A

  • ExcelのVlookupでアクセスを参照したい

    質問があります。 掲題の通りですが、ExcelのVlookupでACCESSのクエリを参照してレコードを取得したいです。 今まで、ACCESSのクエリをExcelにエクスポートして、それをExcelでVlookupで持ってきていました。それを、Accessから直接Vlookupでもってきたいです。 ADO+VBAでやるだろうとは理解していますが、どうも難しくわからないです・・・。コードの記述を含めてやり方を教授して頂けると幸いです。 画像をアップロードしたのでよろしくお願いいたします。 画像のA1-D5がExcelで、下のテーブルはACCESSのものです。 ACCESSのテーブルをExcelのシートにコピペしてVlookupすれば良いのですが、後学のため、それと応用を利かすためにAccessのクエリを直接参照してデータを取得する方法を知りたいです。 よろしくお願いいたします。 それと、もし、その他オフィスの項目で聞くべきでしたら教えて頂ければ幸いです。 よろしくお願いいたします。

  • エクセルのデータをアクセスのテーブルに移動入力する

    エクセルのデータをアクセスのテーブルに移動入力するVBA フォルダAにおいて、a1.xlsxというファイルがあり、 そのsheet1のセル(a,1)=1 A1が1 とします その値をアクセスのデータベース(これもフォルダAにあります)  b.accdbのテーブル1の フィールド1に入力したいときの エクセルマクロのVBAを御教示いただけると助かります さらに続けて フォルダAにおいて、a2.xlsxというファイルがあり、 そのsheet1のセル(a,1)=2 A1が2 とします その値をアクセスのデータベース上記と同じ  b.accdbのテーブル1の フィールド1に追加で入力したいときの エクセルマクロのVBA 以上わかると助かります よろしくお願いします win10 office365

  • アクセス97での罫線について

    教えてください。 ACCESS97で一つのテーブルをEXCELにエクスポートする処理をマクロ (ワークシート変換)で作成しました。 EXCELシート上にデータはちゃんと書き込まれています。 次に、エクスポートされたEXCELのシート上に(セルすべてを囲む)罫線をつけて 見やすく表示したいと考えているのですが... マクロでもVBAでも構いません。そのようなことはできるのでしょうか? また出来るとしたら、データの中のある項目(フィールド)が変更したら、その下の罫線は太くするといったことは可能でしょうか? 参考HPでも構いません。宜しくお願い致します。

  • ExcelからAccessデータを検索するマクロ

    ExcelのA1セルにある値をAccessのデータベース (ファイル名:abc.mdb、テーブル名:Tbl_a)の フィールド1から検索し、対応するレコードの フィールド2の値をExcelのB1セルに書き込む というマクロはどのように書けばよいのでしょうか? Excel, Accessともに2000です。 よろしくご教授お願いします。

  • エクセル【マクロ】について

    初心者です。 エクセルでシート1のA1からA10まで決めた文字(abc)という文字を検索して、検索文字があるセルの1行をコピーしてシート2のA1から下へ貼り付けるというマクロ(VBA)を作成したいと考えています。 詳しい方、よろしくお願いします。

  • Accessのクエリをマクロでエクスポートしたい

    Access2002を使っています。 マクロでクエリをExcelファイルにエクスポートしたいのですが、どうしたらいいかわかりません。 「ワークシート変換」を選択してもテーブルしか選べないので・・・ ご存知の方、どうぞ優しくご教授ください~

  • エクセル変換したデータは文字認識されないのでしょうか?それとも、関数がおかしい?

    WindowsXPで、アクセス97と、エクセル97を使っています。 教えてください! アクセス97で作成したテーブルのデータをアクセスのマクロ「エクセル変換」を使って、エクセルに落とします。 そして、エクセルシートで、VLOOKUP及び、SUMIFを使って集計表を作成したいのですが、#N/Aエラーになってしまいます。VLOOKUPの使い方→「=VLOOKUP(B4,[工場実績報告.xls]Date!$J:$M,4,FALSE)」は、よいと思うのですが・・・もしかして、関数も間違っているのでしょうか? 「#N/A」が出てしまうということは、アクセスからエクセル変換されたデータが、エクセルの中で文字認識されていないということでしょうか? だとしたら、どのようにしたら、エクセルで文字認識をさせることができるのでしょうか? VBAの知識がないので、関数でやろうとしていますが、もし、何かVBAで良い方法があったら、そちらでもよいので、詳細に教えていただきたいかと・・・ すみませんが宜しくお願い致します。

  • アクセス 複数クエリ⇒エクセルの各シートに

    MS Access と MS Excelとの連携テクニックについて、 教えてください。 アクセスで、クエリA・クエリB があるとすると、 マクロ・VBAを使用して、 これらを、エクセルファイル(ファイル名は任意)の 各シートとして、Sheet1,Sheet2としてエクスポートしたいのですが、 可能でしょうか?

  • 完全一致したら代入するマクロを教えてください

    エクセルのSheet1のa列にある文字列と、Sheet2にあるa列にある文字列と完全一致したら、前者のセルの右隣に後者のセルの右隣の文字列を代入するマクロをお教えください。単純にvlookup関数を使えばいいのですが、VBAで行いたいのです。よろしくお願い申し上げます。

  • Access97 → Access2002

    最近会社でAccess97からAccess2002へ乗り換えた(パソコンもOSも変更)のですが、ファイルを変換(2000形式に)してから、不具合がおきています。 あるデータベースからデータを抽出する作業なのですが、 [A]・[B]二つのテーブルからテーブル[C]を作成する[テーブル作成クエリ]があり、これで作成した[C]をもとにクエリ[D]を実行し、Excelに[D]をエクスポートするという形になっています。 [テーブル作成クエリ]を手動で実行すると正常にテーブルが作成されるのですが、 マクロで実行するとうまくいきません。 マクロは メッセージの設定 ・・・いいえ クエリを開く   ・・・テーブル作成クエリを実行 ワークシート変換 ・・・[D]をExcelのワークシートにエクスポート メッセージボックス・・・"Excelへの書き出しを終了しました" となっています。 具体的には、テーブル作成クエリを実行するときには、 集計開始日と終了日をパラメータとして入力する必要があり、 作成されたテーブル[C]には入力した開始日と終了日が書き込まれます。 [D]のクエリを実行する際には[C]の開始日と終了日が抽出条件となります。 手動で[テーブル作成クエリ]を実行したときには [C]に開始日と終了日が書き込まれているのですが、 マクロで実行したときには、[C]にこの開始日と終了日が書き込まれないため、 結果的にフィールド名だけが入力されたデータの全くないExcelファイルが作成されます。 ちなみにマクロで実行する場合は、あらかじめ日付範囲を入力するフォームに開始日と終了日を入力してから実行します。 長々と書いてしまいましたが、これでおわかりいただけるでしょうか? わかりにくければまた補足いたしますので、 マクロで実行したときに正常に動作するようにするにはどうすればいいのか なにか解決策がありましたら教えてください。

専門家に質問してみよう