• ベストアンサー
  • すぐに回答を!

Access2003 メソッドまたはデータメンバが見つかりません

  • 質問No.5230856
  • 閲覧数2118
  • ありがとう数3
  • 回答数5

お礼率 60% (3/5)

はじめまして。
販売管理用にAccessでデータベースを作っています。
請求書作成のフォームで、得意先を選択すると
「前回請求額」「前回入金額」「今月売上額」が自動計算されるように

Private Sub 会員CD_AfterUpdate()

Me.前回請求額 = DLookup("残高", "T-顧客マスター", "会員CD=" & Me.会員CD)
Me.前回入金額 = 0
Me.売上額 = Nz(DSum("合計", "Q-請求発行明細"), 0)
Me.F請求発行明細.Requery


End Sub

というような、記述をしましたが、
「メソッドまたはデータメンバが見つかりません」というエラーで
Me.前回入金額=0 のところで止まってしまいます。
「前回入金額」とう名前が間違っているのかとテーブルなど確認
してみたのですが、間違っているわけではないようで・・・。

他に、自動で請求金額等を呼出し、更新処理ができるなら別の方法でも構わないのですが、とりあえず、このことで3時間くらい悩んでます。
(頭の出来がわるいんでしょうね、キット・・・T_T トホホ)

どなたかご教授お願い致します。

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

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

ベストアンサー率 32% (158/487)

クエリ上のテーブルレイアウトが変わっていないのでしたか。
少し盲点でした。
テーブルの名称が変わっているのであればクエリも同じように作り直す方がいいかもしれません。

「直前の操作はキャンセルされました」のエラーですが、入力しようとしている項目のデータ型は何になっていますか?
テキスト型に数値型のデータを入れようとすると上記のようなエラーが出る場合があります。
また、マイクロソフトのサポートページで怖いものを見つけたのですが、ACCESS2000の現象なので同じことが発生するかわかりませんが目を通して見て下さい。
http://support.microsoft.com/default.aspx?scid=kb;ja;416357
お礼コメント
jujusan80

お礼率 60% (3/5)

『入力しようとしている項目のデータ型』ですか?「前回入金額」ならば、通貨型にしています。呼出す「会員CD」はテキスト型にしています。マイクロソフトのサポートページ見ました。もしかしたら、Access2003にも当てはまるかもしれないというのを考えると、ちょっと(汗;;です。気を取り直して、もう一度テーブルの段階から見直ししてみようと思います。色々ありがとうございます。参考になりました!またいつか、困って質問することがあるかもしれませんが、その時はどうぞよろしくお願いします。m(_ _)m
投稿日時:2009/08/26 19:35

その他の回答 (全4件)

  • 回答No.4

ベストアンサー率 32% (158/487)

更新後処理で値を初期化するという作業ですよね。

Me.前回入金額 = 0

の1文を除けば実行できるのでしょうか?

実行できる場合、「前回入金額」がフォーム上に存在しないか、2個以上存在するとしか考えられません。

また「前回入金額」がメソッドとして認識されている可能性があります。
「前回入金額」という名前のメソッドはありませんか?
補足コメント
jujusan80

お礼率 60% (3/5)

再度よーく、よーく確認してみました。で、発見しました。
「請求書」というテーブルの中に、「前回入金額」というフィールドがあるのですが、もともと「今回入金額」という名前だったんです。が、作成途中で名前を変えたんです。で、変えた後にクエリ、フォームを作っているのですが、ACCESSさんの中では、まだ「今回入金額」のままのようなんです。というのも、コード入力してると、候補リストが出てきますが、その中では「今回入金額」として出てきました。で、「今回入金額」にしてみたらと、やってみましたがエラーで『直前の操作はキャンセルされました』でした。これって。。。どうすれば。。。? m(_ _;;)m
投稿日時:2009/08/25 22:22
  • 回答No.3

ベストアンサー率 55% (773/1384)

前回入金額という名前のコントロールがないか、テキストボックス以外
です。おそらく前者です。
お礼コメント
jujusan80

お礼率 60% (3/5)

アドバイスありがとうございます。でも、「前回入金額」は存在するんですが・・・。
投稿日時:2009/08/24 19:44
  • 回答No.2

ベストアンサー率 32% (158/487)

前回入金額という名前のコントロールが複数存在しませんか?
帳票上にラベルの「前回入金額」とテキストの「前回入金額」が存在する場合、「Me.前回入金額 = 0」ではラベルなのかテキストなのかどちらに入れればいいかわからなくなります。

コントロールのネーミングに関してですがテキストなら「txt前回入金額」、ラベルなら「lbl前回入金額」としてあげれば表示する項目なのかタイトルなのかの判別がコード上でもしやすくなります。
お礼コメント
jujusan80

お礼率 60% (3/5)

ありがとうございます。txt(テキスト)かlbl(ラベル)なのかを、つけてあげればいいのですね。参考になりました。
ただ、症状は変わらずで・・・最初からやり直してみます。
投稿日時:2009/08/24 19:47
  • 回答No.1

ベストアンサー率 41% (562/1346)

Me!前回入金額 = 0

としてみればいかがでしょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ