プロが教える店舗&オフィスのセキュリティ対策術

フォームのコンボボックスで商品コードを選択して
非連結のテキストボックスに選択された商品コード
の単価をcolumnで自動入力するようにしたのですが

単価の変更がある場合はこの既定値の単価を変更したい
です。今の状態で単価を変更をしようと思っても
なにかロックがかかったようになっています。
なぜだかわからないので教えていただけませんか?

A 回答 (3件)

>単価のテキストボックスのコントロールソースで[商品コード]Column(2)にしてます。


単価のコントロールソースに記述していると編集できません。
単価を編集できるようにするには

コンボボックスを商品コードとして商品コード・商品名・単価を値集合ソースの順として商品名と単価のフィールドがあるとした場合。
商品コード(コンボボックス)のプロパティの更新後処理に

Private Sub 商品コード_AfterUpdate()
商品名 = 商品コード.Column(1)
単価 = 商品コード.Column(2)
End Sub

上記のコードの記述で商品コードコンボボックスで商品コードを選択すると商品名と単価のフィールドに値が反映されます。
この場合、単価は編集可能です。Columnを使うフィールドが間違っています。編集したいのであれば単価のコントロールソースにしてはダメです。
(例えばそのフォームのレコードソースになっているテーブルに単価のフィールドがあってもフォーム上の単価のフィールドのコントロールソースがテーブルのフィールドを指定していないのでテーブルにも反映できません。)
という事で・・試してみてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/01/04 07:37

コンボボックスの値集合ソースに商品コード・単価を指定してコンボボックスの更新後処理にColumnを使い非連結のテキストボックスに単価を入力するようにすれば良いと思いますが・・。


この場合は非連結テキストボックスの値は変更できます。
どのようにColumnを使っているのでしょうか?

この回答への補足

商品マスターの定義が
商品コード、商品名、単価です。

これを売上マスターと商品マスターにリレーションを
もたせてます。売上マスターのフォームに商品コードと
単価をつくってます。
単価のテキストボックスのコントロールソースで
[商品コード]Column(2)にしてます。

補足日時:2004/12/28 18:17
    • good
    • 0

>フォームのコンボボックスで商品コードを選択して


>非連結のテキストボックスに選択された商品コード
>の単価をcolumnで自動入力するようにしたのですが

というのですから、テキストボックスのコントロールソースに設定した通りの動きをしているように思えます。
ロックされたようになります。

レコード個別に単価を変更するのであれば、別な方法(テーブル上のフィールドやマクロやVBAの使用)を考える必要があります。

この回答への補足

たしかに連結しているため編集できませんとなってます・・・
いまの方法ではだめなんですね

補足日時:2004/12/28 11:51
    • good
    • 0

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

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


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