いつもお世話になっております。
フォームでボタンをクリックすると、
計上年度と計上月をすべてのレコードに入力させようとしています。
下記のように、For~Nextで書いてみたのですが、
選択されているレコードが、一番最初のレコードではない場合、
エラーが返ってしまいます。
おそらく「レコードの数分繰り返す」という書き方のせいだと思います。
これを「最後のレコードに到達するまで」としたいのですが、
どのように書いたらよいでしょう??
ご存知の方がいらっしゃいましたら、教えてください。
Private Sub 計上年度月入力_Click()
Dim Max As Integer
Dim i As Integer
Max = DCount("[計上月]", "年次請求集計Q")
For i = 1 To Max
If 計上月 <> 0 Then
DoCmd.GoToRecord , , acNext
Else
計上年度2 = 計上年度1
計上月2 = 計上月1
DoCmd.GoToRecord , , acNext
End If
Next i
End Sub
No.3ベストアンサー
- 回答日時:
うんそれでしたら、
Private Sub 計上年度月入力_Click()
Dim RecSet As Recordset
Dim strSQL As String
strSQL = "SELECT * FROM 請求集計T"
strSQL = strSQL & " WHERE クエリの条件式"←ここを注意してください。
Set RecSet = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
RecSet.MoveFirst
Do Until RecSet.eof
If 計上月 = 0 Then
RecSet.Edit
RecSet.Fields("計上年度2") = 計上年度1
RecSet.Fields("計上月2") = 計上月1
RecSet.Update
End If
RecSet.MoveNext
loop
RecSet.close
Set RecSet = Nothing
End Sub
ちなみに、計上年度2と計上月2はレコードフィールド、計上年度1と計上月1はフォームに配置されているテキストだと見なして作っています。
この回答への補足
あ、計上年度と計上月に入力させるのは、請求集計Tのすべてのレコードを対象としてOKです。
ので、その場合はクエリの条件式は必要ないということでしょうか?
その解釈でOKなら・・・
strSQL = strSQL & " WHERE クエリの条件式"←ここを注意してください。
の一文を削除して、実行してみたのですが、
RecSet.Edit
のところで「メソッドまたはデータメンバが見つかりません」とのエラーが出てしまいます。
すみません。どうしてエラーが出てしまうのかわかりません。
何度も申し訳ありませんが、教えてください!!
どうもありがとうございます!
おっしゃるとおり、計上年度2と計上月2はレコードフィールド、計上年度1と計上月1はフォームに配置されています。
これだけの説明でお分かりになるとは。。。すごいですね。
(って私の説明不足ですみません。。。)
で、おはずかしいですが。。。
"WHERE クエリの条件式"って何を入れたら良いのでしょう・・・?
すみません。。。教えてください!!
No.5
- 回答日時:
たぶん、「参照設定」でDAOが設定されてません。
VBAのエディター画面で「ツール」→「参照設定」で「Microsoft DAO 3.6 Object Library」にチェックを入れてください。なお、「3.6」の所はAccessのバージョンで違いますので、「Microsoft DAO X.X Object Library」で探されてください。
ちなみ私のバージョンはAccess2000です。
何度もご回答いただきまして、ありがごうございました。
残念ながら、DAOの設定をしても、同じエラーが出てしまいました。
ですが、教えていただいた構文からヒントを得て、最初に書いていたFor~Nestの前に、
「DoCmd.GoToRecord , , acFirst」 を追加してみたところ、うまく動くようになりました。
本当に丁寧にご回答いただきまして、ありがとうございました。
いろいろと勉強になりました。
また、どうぞよろしくお願いいたします。
No.4
- 回答日時:
う~ん、選択クエリで選択するための条件を設定されていると思うんです。
選択クエリで、設定されている条件を「WHERE」句に記述すれば良いんです。例えば、物品番号が1のものなら「物品番号=1」と書きます。さらに条件があるのなら「AND」(かつ)か「OR」(または)で繋いでいきます。
単純に日付が入っていない物であれば、「SELECT * FROM 請求集計T WHERE isnull 日付」なんて記述します。
単純に選択クエリに設定されているフィールドと条件がわかれば、一番いいんですが。
No.2
- 回答日時:
年次請求集計Qって、クエリテーブルですよね?
どんなクエリでしょうか?う~んそれだったらいきなりSQLに変えるのも一つの手かなぁ。
ちょっとクエリの内容がわからないので、よろしかったら教えて下さい。
えーっと。
「年次請求集計Q」クエリは、データを入力するフォームのために作成した選択クエリです。
って、こういう答えじゃないのカナ。。。
「年次請求集計Q」に入力したデータは「請求集計T」というテーブルに格納されます。
クエリだと問題でしたら、テーブルを見に行けば解決されるのでしょうか???
ごめんなさい。多分基本がわかってないんですね。。。
No.1
- 回答日時:
Private Sub 計上年度月入力_Click()
Dim RecSet As Recordset
Set RecSet = CurrentDb.OpenRecordset("年次請求集計Q", dbOpenDynaset)
RecSet.MoveFirst
Do Until RecSet.eof
If 計上月 = 0 Then
計上年度2 = 計上年度1
計上月2 = 計上月1
End If
RecSet.MoveNext
loop
End Sub
で出来ると思います。
ご回答、どうもありがとうございます!
早速、コピーして試してみたところ
Set RecSet = CurrentDb.OpenRecordset("年次請求集計Q", dbOpenDynaset)
のところで、エラーが出てしまいました。。。
うーむ。。どのようにしたらよいでしょう???
お手数ですが、お分かりになりましたら教えてください!!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
access の 最終レコードの判定はどう記述しますか
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
2つ目のレコードの値を取得するには?
Access(アクセス)
-
-
4
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
5
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
6
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
7
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
8
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
9
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
10
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
11
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
12
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
13
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
14
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
15
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
16
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
17
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
18
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
19
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
20
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンのパーツの勘定科目に...
-
Access 最後のレコードに到達...
-
課税か?非課税か?教えてくだ...
-
稲作農業における年貢での地代...
-
受講証紙代の処理について
-
リース契約期間終了時に買取し...
-
建退共の証紙。 購入のときの...
-
屋外簡易トイレの勘定科目…
-
車の整備費(6ヶ月点検、車検な...
-
刈払機の燃料は光熱費でいいの...
-
イベントで提供したお茶菓子の...
-
(税務)仮払税金認定損とはど...
-
開発許可申請費用は固定資産取...
-
出荷金額と売上高の違いについて
-
カーペット張替工事の勘定科目...
-
修繕費と消耗品の仕訳の境い目
-
消火器購入時の勘定科目について
-
アパート入居時・退去時の勘定...
-
経理処理を教えてください
-
10万円以下の物を複数買い10万...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access 最後のレコードに到達...
-
稲作農業における年貢での地代...
-
シャッターを交換した場合の経...
-
パソコンのパーツの勘定科目に...
-
経理用語で「計上」と「「振替...
-
ブロック塀の改修は不動産所得...
-
経費計上時期について
-
確定申告 保証金の扱い
-
タンクローリーの交換代
-
エステサロンの勘定科目について
-
資本準備金を積み立てるのは年...
-
16万円の原付を買いました。償...
-
飲食店移転費用の税金について
-
固定資産税精算金の計上
-
家計簿(出納帳)のつけ方について
-
青色確定申告での固定資産税の...
-
個人で購入した20万円の自転車...
-
白色申告から青色申告へ変更時...
-
発生主義会計と現金主義会計の...
-
法人間の貸付
おすすめ情報