• ベストアンサー

Access columnプロパティについて

フォームのコンボボックスで商品コードを選択して 非連結のテキストボックスに選択された商品コード の単価をcolumnで自動入力するようにしたのですが 単価の変更がある場合はこの既定値の単価を変更したい です。今の状態で単価を変更をしようと思っても なにかロックがかかったようになっています。 なぜだかわからないので教えていただけませんか?

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>単価のテキストボックスのコントロールソースで[商品コード]Column(2)にしてます。 単価のコントロールソースに記述していると編集できません。 単価を編集できるようにするには コンボボックスを商品コードとして商品コード・商品名・単価を値集合ソースの順として商品名と単価のフィールドがあるとした場合。 商品コード(コンボボックス)のプロパティの更新後処理に Private Sub 商品コード_AfterUpdate() 商品名 = 商品コード.Column(1) 単価 = 商品コード.Column(2) End Sub 上記のコードの記述で商品コードコンボボックスで商品コードを選択すると商品名と単価のフィールドに値が反映されます。 この場合、単価は編集可能です。Columnを使うフィールドが間違っています。編集したいのであれば単価のコントロールソースにしてはダメです。 (例えばそのフォームのレコードソースになっているテーブルに単価のフィールドがあってもフォーム上の単価のフィールドのコントロールソースがテーブルのフィールドを指定していないのでテーブルにも反映できません。) という事で・・試してみてください。

nishimu
質問者

お礼

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

その他の回答 (2)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

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

nishimu
質問者

補足

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

  • NorthMole
  • ベストアンサー率24% (20/82)
回答No.1

>フォームのコンボボックスで商品コードを選択して >非連結のテキストボックスに選択された商品コード >の単価をcolumnで自動入力するようにしたのですが というのですから、テキストボックスのコントロールソースに設定した通りの動きをしているように思えます。 ロックされたようになります。 レコード個別に単価を変更するのであれば、別な方法(テーブル上のフィールドやマクロやVBAの使用)を考える必要があります。

nishimu
質問者

補足

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

関連するQ&A

専門家に質問してみよう