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

ACCESS2013を使って、受注販売管理DBを構築しています。

 今、フォームから受注明細を入力する際に、プロダクトキーを入力するだけで商品マスタにある商品名、仕入単価、販売単価が代入されるように、DLookUP関数を使おうとしています。

 一般に推奨されているように、プロダクトキーのフィールドの更新後処理で走る埋め込みマクロで「値の代入」にDLookUpを活用して、無事に「商品名」が自動的に代入できるようになったのですが、仕入単価と販売単価を同じように代入させようとすると、「このフィールドに入力した値が正しくありません。たとえば数値型のフィールドに文字列を入力しようとしました」というエラーが出てしまいます。

つまり、

 商品名 : 短いテキスト → うまく行く
 仕入単価 : 数値型 → エラー
 販売単価 : 数値型 → エラー

という状況です。

商品マスター側も、受注明細側も、単価は数値型にしています。
プロダクトキーは短いテキストです。ですからDLookUPの式の条件欄は以下のようになっています。

DLookUP("[商品名]","[商品マスタ]","[プロダクトキー]='" & [プロダクトキー] & "'")
DLookUP("[仕入単価]","[商品マスタ]","[プロダクトキー]='" & [プロダクトキー] & "'")
DLookUP("[販売単価]","[商品マスタ]","[プロダクトキー]='" & [プロダクトキー] & "'")

代入したいものがテキストか数値かでDLookUPの式の書き方は変えていません。

いったいどこを修正すればこのエラーを解消できるでしょうか?
実は、ミニチュアDBを使ってテストすると、テキストも数値も両方、無事に代入できてしまうことも確認できていて、ミニチュアと本物の違いを見つけられずにいるという状況でもあります。

詳しい方、教えて下さい。
不足の情報があれば、ご指摘下さい。補完します。

よろしくお願いします。

A 回答 (2件)

ファイルが壊れているかもしれません。


新しくファイルを作りそちらに必要なオブジェクト等をインポートしてみては?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。そういう事例があるのですか。そうとは知りませんでしたが、新しくファイルを作って同じ構造のDBを作ると同じ結果になることは確認済みです。問題は私の設計にあると思うのですが、初めてのACCESSなので、どこをチェックしたら良いのか見当がつかないのです。

お礼日時:2016/11/04 23:55

>「このフィールドに入力した値が正しくありません。

たとえば数値型のフィールドに文字列を入力しようとしました」というエラー

入力規則に対するもの→エラー番号を求める
http://www.accessclub.jp/samplefile/samplefile_7 …
    • good
    • 0
この回答へのお礼

私の質問とは関係がないようです。

お礼日時:2016/11/08 00:34

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

関連するカテゴリからQ&Aを探す