アプリ版:「スタンプのみでお礼する」機能のリリースについて

サブフォームはデータシート形式です。
メインフォームは受注フォーム。サブフォームは受注明細フォームです。
サブフォームのソースは受注明細テーブルです。
サブフォームに商品コードのコンボボックスがあって選択すると
該当する商品名、販売価格を商品マスタテーブルから検索して表示
したいので以下のようにためしてみました。

Private Sub 商品コード_AfterUpdate()
'
' 商品名 = DLookup("商品名", "T_商品マスタ", "商品コード='" & 商品コード & "'")
' 販売価格 = DLookup("販売価格", "T_商品マスタ", "商品コード='" & 商品コード & "'")
商品名 = 商品コード.Column(1)
販売価格 = 商品コード.Column(2)

End Sub
そうすると、商品コードを選択すると商品名と販売価格が
全行同じものに変わってしまいます。
どうすればよいでしょうか?
ご教示していただけませんでしょうか?
よろしくお願い致します。

A 回答 (1件)

>全行同じものに変わってしまいます。


非連結のコントロールに値を代入すればそうなります

そもそも
>商品コードのコンボボックスがあって選択すると
>該当する商品名、販売価格を商品マスタテーブルから検索して表示したい
これが目的ならVBAやDLookup関数など持ち出さず
サブフォームのソースを受注明細と商品マスタを商品コードで
結合したクエリにすれば済む話ですね

この回答への補足

ありがとうございます。
受注明細フォームのソースをクエリにしたところうまくいきました。
ですが、これをアップサイジングウィザードでADPファイルにするとクエリが更新不可になってしまい非常に困っています。
どうか解決方法をご教授いただけませんでしょうか。
よろしくお願い致します。

AccessのクエリとSQLサーバーのクエリは以下になります。

SELECT T_受注明細.商品コード, T_商品マスタ.商品名, T_商品マスタ.販売価格, T_受注明細.数量, T_商品マスタ.販売価格*T_受注明細.数量 AS 小計, T_受注明細.受注番号
FROM T_商品マスタ INNER JOIN T_受注明細 ON T_商品マスタ.商品コード = T_受注明細.商品コード;

上のクエリをアップサイジングウィザードでビューにしたのが以下です。
SELECT dbo.T_受注明細.商品コード, dbo.T_商品マスタ.商品名, dbo.T_商品マスタ.販売価格, dbo.T_受注明細.数量, dbo.T_商品マスタ.販売価格 * dbo.T_受注明細.数量 AS 小計, dbo.T_受注明細.受注番号
FROM dbo.T_商品マスタ INNER JOIN dbo.T_受注明細 ON dbo.T_商品マスタ.商品コード = dbo.T_受注明細.商品コード

補足日時:2008/09/05 10:35
    • good
    • 0
この回答へのお礼

ありがとうございます。
さっそくためしてみます。

お礼日時:2008/09/03 02:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A