
いつもお世話になっております。
フォームでボタンをクリックすると、
計上年度と計上月をすべてのレコードに入力させようとしています。
下記のように、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も見ています
-
電子書籍プレゼントキャンペーン!
最大2万円超分当たる!マンガや小説が読める電子書籍サービス『Renta!』で利用できるギフトコードプレゼント実施中!
-
Access サブフォームでの選択行の取得
その他(データベース)
-
アクセスVBAのMe!と[ ]
Access(アクセス)
-
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
4
access の 最終レコードの判定はどう記述しますか
Access(アクセス)
-
5
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
6
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
7
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
8
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
9
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
10
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
11
クエリのループ処理がしたいです
Access(アクセス)
-
12
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
13
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
14
access テキストボックスの値取得
Access(アクセス)
-
15
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
16
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
17
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
18
2つ目のレコードの値を取得するには?
Access(アクセス)
-
19
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
20
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
減価償却費について
-
5
(税務)仮払税金認定損とはど...
-
6
建退共の証紙。 購入のときの...
-
7
アパート入居時・退去時の勘定...
-
8
リース契約期間終了時に買取し...
-
9
車の整備費(6ヶ月点検、車検な...
-
10
機械装置の据付費に含まれるもの
-
11
機器類の校正の費用について
-
12
輸入に関する費用
-
13
カーペット張替工事の勘定科目...
-
14
エレベーター補修工事の資産計...
-
15
高額な測定器でも工具、器具及...
-
16
修繕費と消耗品の仕訳の境い目
-
17
配送料、代引き手数料について
-
18
期をまたぐ費用の処理の仕方
-
19
受講証紙代の処理について
-
20
イベントで提供したお茶菓子の...
おすすめ情報
公式facebook
公式twitter