• ベストアンサー

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 としてみればいかがでしょう。

関連するQ&A

  • Accessで自動更新

    T_時間割というテーブルに曜日cd、時限cd、教室cd、更新日、更新者というフィールドがあります。 また、T_更新者というテーブルに教職員cdというフィールがあります。 *このテーブルにはファイルを開いている人の教職員コードが入力されています。 T_時間割をもとにフォームを作成し、曜日時限教室のいずれかが更新されると自動で更新日が更新されるようにするのは、コードビルダで実現できました。 曜日cdのプロパティの更新後処理に  Private Sub  曜日cd_AfterUpdate()  Me.更新日 = Now  End Sub と入力しました。 同じように曜日時限教室のいずれかが更新されると更新者フィールドにT_更新者の教職員cdが自動で入力されるようにしたく色々と試しましたが、エラーになってしまいます。  Private Sub  曜日cd_AfterUpdate()  Me.更新者 = T_更新者!教職員cd  End Sub とか  Private Sub  曜日cd_AfterUpdate()  Me.更新者 = DLookUp("教職員cd","T_更新者")  End Sub など。 方法をご存知の方がいましたら、ご教示ください。

  • アクセス コンボボックスで全項目表示

    アクセス2000で発注書をつくっています 発注書フォームのサブフォーム「発注書sub」内で 「大項目」「中項目」「小項目」「商品コード」の 4つのコンボボックスを設置し、 絞込み検索で商品明細を入力しています 新規レコードに移動するときに 「大項目」「中項目」「小項目」の値を空白にし、 4つめの「商品コード」コンボボックスで 全商品を表示させたいのですが どう記述していいのかわかりません 現在は Private Sub 商品コード_AfterUpdate() Me.品番 = Me.商品コード.Column(1) Me.商品名 = Me.商品コード.Column(2) Me.色 = Me.商品コード.Column(3) Me.サイズ = Me.商品コード.Column(4) Me.商品単価 = Me.商品コード.Column(5) End Sub Private Sub 小項目_Enter() Me!商品コード.Requery End Sub Private Sub 大項目_AfterUpdate() Me!中項目.Requery End Sub Private Sub 中項目_AfterUpdate() Me!小項目.Requery End Sub Private Sub 小項目_AfterUpdate() Me!商品コード.Requery End Sub 'フォーカスが移ると同時にドロップダウンさせる Private Sub 大項目_GotFocus() Me.大項目.Dropdown End Sub Private Sub 中項目_GotFocus() Me.中項目.Dropdown End Sub Private Sub 小項目_GotFocus() Me.小項目.Dropdown End Sub 'テスト Private Sub 摘要_LostFocus() Me!大項目 = Null Me!中項目 = Null Me!小項目 = Null Me!商品コード.Requery End Sub です。 発注書フォーム(単票フォーム) レコードソース「発注書」 サブフォーム名「発注書sub」(帳票形式) レコードソース「発注書明細」 リンク親フィールド子フィールドともに「発注書コード」 (他に表記が必要なのがあるかもしれませんが。。) テーブル ●発注書明細 「明細コード」「発注書コード」「商品コード」「品番」「商品名」「色」「サイズ」「商品単価」「数量」「摘要」です ●商品マスタ 「商品コード」「品番」「種類」「大項目」「中項目」「色」「商品名」「サイズ」「商品単価」 です。 どなたか ご指導のほどよろしくお願いいたします

  • access2010でのカレンダーコントロール

    http://msdn.microsoft.com/ja-jp/library/office/gg251104%28v=office.14%29.aspx 上記urlにある「カスタムカレンダーフォームを使用する」の方法でコントロール[frmCalendar]をクリックすると同時にtextbox[日報選択]の日付を変更することができるのですが、他のサブフォームのリクエリができません。これを1回のクリックでサブフォームをリクエリさせる方法はないですか? 現状ではコントロールによって変更されたtextbox内をもう一度クリックすると他のサブフォームがリクエリされます。下記はVBですが変更または追加があれば教えてください。 Option Compare Database Private WithEvents calendarForm As Form_frmCalendar ------------------------------------------------- Private Sub calendarForm_DateChanged(newDate As Date) Me.[日報選択] = newDate End Sub ----------------------------------------------------- Private Sub Form_Open(Cancel As Integer) Set calendarForm = Me.Calendar.Form End Sub ---------------------------------------------------- Private Sub Form_Click() DoCmd.OpenForm "F_日報" DoCmd.Close End Sub ---------------------------------------------------- Private Sub Form_Load() Me![日報選択].Value = Date Me!F_日報扱い現金.Requery Me!F_日報扱いクレジット.Requery Me!F_日報商品売上.Requery End Sub ---------------------------------------------- Private Sub 日報選択_AfterUpdate() Me!F_日報商品売上.Requery Me!F_日報扱い現金.Requery Me!F_日報扱いクレジット.Requery End Sub ---------------------------------------- Private Sub 日報選択_Click() Me!F_日報商品売上.Requery Me!F_日報扱い現金.Requery Me!F_日報扱いクレジット.Requery End Sub

  • アクセスで3つのフィルターを連携させたい

    3つのコンボックスがあります Combo1 → 都道府県 Combo2 → 市区 Combo3 → 町村 都道府県と市区までは正常にフィルター出来るのですが、町村を選ぶと都道府県や市区も 同じ町村の名前のデータを引っ張ってきてしまいます。 ボタンを付けることも考えましたが、VBAの能力があまりないので、失敗ばかりしています。 良い知恵を教えて頂けないでしょうか。 Private Sub Combo1_AfterUpdate() Dim Strkubun As String Strkubun = Me.Combo1 Me.Filter = "[都道府県]= '" & Strkubun & "'" Me.FilterOn = True Me.Requery End Sub Private Sub Combo2_AfterUpdate() Dim Strkubun As String Strkubun = Me.Combo2 Me.Filter = "[市区]= '" & Strkubun & "'" Me.FilterOn = True Me.Requery End Sub Private Sub Combo3_AfterUpdate() Dim Strkubun As String Strkubun = Me.Combo3 Me.Filter = "[町村]= '" & Strkubun & "'" Me.FilterOn = True Me.Refresh End Sub

  • アクセスで可能でしょうか?初心者です。

    売上先で、(1)末締め翌末入金 (2)末締め翌月20入金 (3)末締め25入金 (4)20締め翌月末入金 の売上先が4パターンあるとして、 テーブル(T得意先情報)売上ID 売上先名 請求締め日  テーブル(T請求書)請求ID 売上先名 売上ID 請求年月     日 請求金額 テーブル(T入金)請求ID 請求金額 入金額 入金予定日  と考えとりあえずテーブルを作成しました  (1)入金日まで30or31 (2)20 (3)25 (4)40or41or42 売上先請求日付(1)~(4) (1)~(3)の請求日が1/31(4)が1/20とした場合テーブル(T入金)で、 2月の(28)月末の入金額、 20の入金額、25の入金額、 3月10の入金額 の入金年月日の件数と金額を求めたいのですが、うまくいきません。 クエーりーで入金ベースのサイト(末,20,25,40)を作れば何とかなるのかな?んんどうやったらよいの・・・ リーレーションがとても難しいと考え込んでしまい先に進みません。 構築方法+具体的な日付ごとの合計金額初心者の私に 理解できるようどなたか教えてくださいますよう お願いいたします。 ちなみに私経理の仕事しかしたことがないので、質問の内容がアクセス経験者の方々に伝わるよう な質問かどうか少々不安ですが、よろしくお願いします。

  • Accessのフォーム その2

    すいません、以前にも同じ質問をしたのですが、私の質問の仕方が悪くてうまくいきませんでした。 回答してくださった方、ありがとうございました! もう一度、詳しく質問しなおします。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 しかし、選んだデータの[A]しかテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、[B]のコンボボックスから選択しようとしても空っぽです。 テーブルを見ると、[A]で選んだ[1010]だけが表示されています。 非連結のときはうまく出てたんですが・・。 もしかして連結列が間違ってるのでしょうか?? 元になるテーブルは Aコード A  Bコード B Aコード Cコード C Bコード Dコード D Cコード この2列目を表示したいのです。(2列目が[1010]など表示したいデータ) 列数はそれぞれ「2」で連結列は「2」です。 更新後処理は以下の通りです。 Private Sub コンボ0_AfterUpdate() Me!コンボ2.Requery End Sub Private Sub コンボ2_AfterUpdate() Me!コンボ4.Requery End Sub Private Sub コンボ4_AfterUpdate() Me!コンボ6.Requery End Sub ぜひよろしくお願いします。

  • Access2003とAccess2007の違い

    Access独習者です。 入門書で「物品貸出状況フォーム」を作成しました。 フォーム画面「物品貸出状況一覧表」の下に作ったコンボボックス289「大分類」とコンボボックス291「小分類」で 貸出状況を調べる物品を絞り込み一覧表に取り込みます。 コンボボックス「大分類」「小分類」の値集合ソースはそれぞれ「T_大分類」と「T_小分類」です。 Access2003では下記のコードとコンボボックス291「小分類」の値集合ソースのクエリビルダに組み込んだ 抽出条件「大分類番号[コンボ289]」で絞り込んだ物品が一覧表に表示されたのですが、Access2007では コンボボックス289「大分類」を変更後コンボボックス291「小分類」が更新されません。 Access2003とAccess2007でなにか違いがあるのでしょうか。 お聞きするのに提示すべきコードなどそろっていないかもしれないのですが、ご助言いただければ助かります。 よろしくお願いいたします。 Private Sub コンボ289_AfterUpdate() Me!コンボ291.Requery End Sub Private Sub コンボ291_AfterUpdate() Me.Filter = "小分類番号=" & コンボ291 Me.FilterOn = True End Sub

  • 弥生販請求書について質問です

    弥生販売08を使用しています。 引継とサポートが無く困っていての質問です。 請求書を発行の際、前月請求額が当月請求金額に載ってしまいます。 印刷→書式設定→請求明細条件にて 印刷条件(共通)の売上金額を今回請求額にすると 前回請求額・入金額・繰越額が空白になります。 前回請求額・入金額・繰越額を印字し 今回請求額に前月請求額を含まず 請求金額を印字する事は出来ないのでしょうか? 弥生初心者の為、質問がわかりにくく申し訳ありません。 お知恵をお借りしたいと思いますので よろしくお願いします。

  • クエリの抽出条件について

    売掛管理を作成しようと思っています。 「請求書T」と「入金T」 「商品T」「取引先T」を作成しました。 元帳作成にあたって、に必要なテーブル・クエリの組み方を教えてください。。 請求書テーブル フィールド名;請求番号、請求日、得意先番号、 売上額、摘要(商品名など) 入金テーブル フィールド名;ID(オートNo.)、取引先コード、入金日、入金額、調整(振込手数料等)、摘要 クエリで売上明細と商品Tをつなぎ、売掛元帳を作りたいのですが、 クエリのひっぱりかたがわかりません・。。 元帳 → 日付、取引先コード、取引先名、売上額、入金額、繰越残高、残高 (繰越残高は、取引先Tに持たせます) ※残高= 繰越残高 + 売上額 - 入金額 どうぞよろしくお願いします。

  • Access2003 四捨五入の方法について

    Access初心者です。ご存知の方がいらっしゃいましたら教えて下さい。 現在以下のようなプロシージャを作成しました。 この計算方法だと小数点が切り捨てとなり、例として1000.5円という金額になった場合、1,000円として 表示されてしまいます。これを1,001円で表示できるようにしたいのですが、どのようなプロシージャを作成 したら良いかご存知の方がいらっしゃいましたら教えて下さい。よろしくお願い致します。 以下プロシージャ Private Sub 課税_AfterUpdate() On Error GoTo 課税_AfterUpdate_Err If (Forms!F_請求書!課税 = 1) Then Forms!F_請求書!消費税率 = 0 End If If (Forms!F_請求書!課税 = 2) Then Forms!F_請求書!消費税率 = 0.05 End If [小計] = Nz(DSum("単価*数量", "Q_請求明細", "[請求番号]=forms![F_請求書]![請求番号]")) [消費税] = Fix([小計] * Nz([消費税率])) [合計] = [小計] + [消費税] 課税_AfterUpdate_Exit: Exit Sub 課税_AfterUpdate_Err: MsgBox Error$ Resume 課税_AfterUpdate_Exit Me.Recalc End Sub

専門家に質問してみよう