• ベストアンサー

Access2003サブフォームの質問です

質問ですが、 Access2003 VBAで伝票入力を作成しています。 ヘッダーに日付・得意先、明細(サブフォーム)に商品コード・品名などを入力する画面ですが 商品名で同じものが複数が頻繁にあるので、商品名をダブルクリックしたら1行前の商品名 をセットするような仕様にしたいのですが、1行前の商品名取ってくるような事は出来るので しょうか? ご存知の方がおられたら、教えてください。 お願い致します

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

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

はなはだ、邪道のようですが、ctrlと7キーの同時押しで前レコードの内容を複写できますので、ダブルクリックイベントに SendKeys "^7", True を入れればいけるかも知れません。 ただ、SendKeys はVISTA以降のOSだと不具合が出ることもあるようです。

kirin4247
質問者

お礼

ありがとうございます。 CTRL+7は知りませんでした。XPでは問題ありませんでした。 簡単な方法が良いと思っていましたので助かりました。

その他の回答 (2)

noname#182251
noname#182251
回答No.3

「1行前の商品名」が明確に判りませんが、最終入力した商品名でしょうか? それならばフォームの「更新後処理」で適当な変数に待避させ、ダブルクリックイベントで、そこから商品名に戻してやればよいでしょう。

kirin4247
質問者

お礼

ありがとうございます。 これが入力の最終行でなく、3行目でダブルクリックしたら2行目をコピーするようになります。 説明不足ですみません

noname#140971
noname#140971
回答No.2

Option Compare Database Dim isClick As Boolean Private Sub 商品名_Click()   If isClick Then     Zenchi   End If   isClick = False End Sub Private Sub 商品名_DblClick(Cancel As Integer)   isClick = True End Sub Public Sub Zenchi()   SendKeys "^("")", False End Sub 商品名が空欄の時だけ前値をコピーするのか否かという問題は残りますが・・・。

kirin4247
質問者

お礼

ありがとうございます。 教えて頂いた内容でやってみます

関連するQ&A

  • Access2000フォーム/サブフォームにつおて

    Access2000でフォーム/サブフォーム(売上伝票)を作っています。 フォーム(売上伝票メイン)には伝票番号、売上先などを入力・・・ サブフォーム(売上伝票サブ)は商品、数量、金額などを入力します。 そこで質問ですが、サブフォームの商品は商品コード(コンボボックス)を入力すると該当する商品名、単価などを商品台帳から引いてくる、としたいと思い、商品コードの「更新処理後」に以下のコードを記述しました。   Me![商品名] = DLookup("[商品名]", "[商品台帳]","[商品コード]= Forms![売上伝票メイン]![売上伝票サブ]![商品コード]")     サブフォーム上の商品名に商品台帳の商品名を入力するとしたつもりなのですが、何も表示されません。  単価も単位も同様です。  この方法ではだめなのでしょうか?  

  • ACCESS2003の質問です

    伝票入力画面(親フォーム、サブフォーム)で、サブフォームに明細を 入力しますが、サブフォームのスクロールバーが常に下の位置に出来 ませんか? 明細行が画面に入りきらないときに、隠れてしまうので、常に最終行が 表示されている状態が望ましいです 宜しくお願いします

  • 【ACCESS2000】 サブフォーム同士の値のチェックを行いたい。

    ・メインフォーム 合計チェックボタン ・サブフォーム1 伝票番号,売上金額合計 ・サブフォーム2 伝票番号,明細行,売上金額 上記のような構成になっており、合計チェックボタンを 押したときに伝票ごとのサブフォーム1の売上金額合計がサブフォーム2の伝票番号でまとめた売上金額合計より、下回っているものがある場合はエラーメッセージを出したいと思っています。(できればその伝票番号もだしたい。) どのようにすればよいでしょうか。

  • access2007でのサブフォームへの入力

    仕入入力画面なんですが メインフォーム(仕入伝票テーブル)サブフォーム(仕入伝票明細テーブル) という構成です。 メインフォームで 仕入先をコンボボックスで指定すると サブフォームの 商品を入力するコンボボックスに メインフォームで選択した仕入先で購入できる商品が選べるように したいのですが、どうすればよろしいでしょうか? メインフォームの仕入先コンボボックスを選択する度に サブフォームの商品コンボボックスで選択できる内容を反映させたい です。 仕入先A : 商品1 商品2 仕入先B : 商品3 商品4 商品5 仕入先C : 商品6 商品7 商品8 商品9 メインフォームで仕入先コンボボックスで仕入先Aを選択すると サブフォームで選択できる商品コンボボックスは商品1と商品2 メインフォームで仕入先コンボボックスで仕入先Bを選択すると サブフォームで選択できる商品コンボボックスは商品3と商品4と商品5 というようなイメージで作りたいです。 どうかよろしくお願いします。

  • 【ACCESS2000】 サブフォームのフィルタ方法

    親フォーム メインメニュー 子フォーム1 売上ヘッダ 子フォーム2 売上明細 上記のようなフォームがあります。 親フォームには、主キーで伝票番号が振られています。 売上ヘッダの各行を選択するごとにその明細が下に出てくるという仕組みのフォームを作ろうとしています。 そこで質問があります。 基本的なことですが、子フォーム1にある伝票番号をキーとして、サブフォームのフィルタリングするにはどうすればよいでしょうか。

  • Access サブフォームについて

    いつもお世話になっております。 例に沿って質問します。 請求フォームがあり、 そこに請求明細サブフォームがあります。 明細のほうには、商品マスタと紐付いて、 商品ID、商品名、単価が表示されます。 明細.商品IDと商品マスタ.商品IDを紐付けることは できたのですが、(リレーションによって) 単価を商品マスタからひろうことができません。 (明細テーブルにも、単価欄があります) 明細.単価にupdateしたいのです。 ご教授宜しくお願いします。

  • ACCESSのメインフォームとサブフォームについて

    ACCESSで、受注伝票のようなものを作成したいと思っています。受注伝票フォームに受注明細のサブフォームを埋め込んだようなフォームを作ろうとしています。その際、受注伝票と明細に受注コードのフィールドを設け関連づけたいのですが、メインフォームに受注コードを入力したらサブにも同じコードが自動的に振られるようなことはできるのでしょうか。 出来ないのであれば、どのように作ればよいのでしょうか。

  • ACCESSのサブフォーム教えてください☆

    お世話になっております。 メインフォームではなくサブフォームの抽出方法で、コンボボックスでサブフォームのフィールド(例えば、商品名)を選択後、テキストボックスで文字列(例えば、ソフトクリーム)を指定して検索する方法です。メインフォームでのやり方は調べて(VBA)分かったのですがサブフォームは試行錯誤してやってみたのですがうまくいきません。 すみませんが、宜しくお願いします。

  • アクセスのサブフォームが編集可能な状態で表示されない

    ■バージョン:Access2003 ■使用経験:Accessはつい最近使い始めたばかりで、初心者レベルです。    (ヘルプ及びいくつかのサイトを参考にしながら使っています) ■質問内容:   データをテーブルに登録するためのフォームを作ろうとしています。   登録するテーブルは、商品テーブルと商品明細テーブル(1対多)のヘッダ明細型です。   まず始めに商品テーブルへデータを登録するフォームを   クエリを使用してウィザードで単票形式で作成しました。   次に、商品明細テーブルへデータを登録するフォームを   クエリを使用してウィザードでデータシート形式で作成しました。   次に、始めに作った単票形式のフォームに、2番目に作ったデータシート形式のフォームをサブフォームとして組み込みました。        その後、デザインビューからフォームビューに切り替えたところ、   単票形式にした1つめのフォームは入力できる状態になっているのですが、   サブフォームとして組み込んだデータシートビューのほうが   列のヘッダ(「商品名」等の列タイトル)しか表示されておらず、   入力できるような白いセルが表示されません。   (列タイトルの下は一面グレーとなっています。    デザインビュー上では登録したい項目が全て表示されています。)   関係あるのか不確かですが、サブフォームのプロパティで   「フォームビューの許可、更新の許可、追加の許可、データ入力用」などは「はい」にしてあります。   サブフォームのデータシートにデータを入力できるようにするには   どうしたらよいのでしょうか。   入力できなくなってしまう原因がテーブル構造等にあるのでしたら、   テーブルの構造をもう少し詳しく書かせて頂こうと思います。   何卒よろしくお願い申し上げます。

  • アクセスでIF関数

    仕入伝票入力をアクセスで行っています。フォームに日付、仕入先CD等の項目、サブフォームに明細で商品CD、数量、価格等です。しかし最近不便に感じてきたので改良したく質問させていただきました。不便というのは仕入先の伝票入力の時、仕入先ごとに商品CDが異なるという点です。これまでは対応表(商品台帳)をプリントアウトして探してしました。そこで、商品マスターテーブルに仕入先ごとの商品CD項目を商品CD1、商品CD2、・・・と追加し、メインフォームの仕入先CDにより、明細サブフォームの商品CDの参照を変える方法。(仕入先CDが1のとき商品名、商品価格は商品CD1を参照し、仕入先CDが2のときは商品名、商品価格は商品CD2を参照するのような感じ) 選択クエリでサブフォームをつくっているのですが、いかがでしょうか? フォームに商品CD1、商品CD2と入力枠を作っておくことも考えたのですが見栄えが悪いので条件で仕分けたいのですが可能でしょうか?可能であれば方法を教えてください。

専門家に質問してみよう