• ベストアンサー

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

はじめまして。 販売管理用に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

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

jujusan80
質問者

お礼

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

その他の回答 (4)

回答No.4

更新後処理で値を初期化するという作業ですよね。 Me.前回入金額 = 0 の1文を除けば実行できるのでしょうか? 実行できる場合、「前回入金額」がフォーム上に存在しないか、2個以上存在するとしか考えられません。 また「前回入金額」がメソッドとして認識されている可能性があります。 「前回入金額」という名前のメソッドはありませんか?

jujusan80
質問者

補足

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

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

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

jujusan80
質問者

お礼

アドバイスありがとうございます。でも、「前回入金額」は存在するんですが・・・。

回答No.2

前回入金額という名前のコントロールが複数存在しませんか? 帳票上にラベルの「前回入金額」とテキストの「前回入金額」が存在する場合、「Me.前回入金額 = 0」ではラベルなのかテキストなのかどちらに入れればいいかわからなくなります。 コントロールのネーミングに関してですがテキストなら「txt前回入金額」、ラベルなら「lbl前回入金額」としてあげれば表示する項目なのかタイトルなのかの判別がコード上でもしやすくなります。

jujusan80
質問者

お礼

ありがとうございます。txt(テキスト)かlbl(ラベル)なのかを、つけてあげればいいのですね。参考になりました。 ただ、症状は変わらずで・・・最初からやり直してみます。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

Me!前回入金額 = 0 としてみればいかがでしょう。