Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


833 / 2272 ツリー ←次へ | 前へ→

【9872】実行時エラー3061 taka 07/9/27(木) 11:02 質問[未読]
【9879】Re:実行時エラー3061 クロ 07/9/28(金) 15:15 回答[未読]
【9886】Re:実行時エラー3061 taka 07/9/28(金) 17:58 発言[未読]
【9887】Re:実行時エラー3061 taka 07/9/28(金) 18:04 質問[未読]
【9888】Re:実行時エラー3061 hatena 07/9/28(金) 20:31 回答[未読]
【9890】Re:実行時エラー3061 taka 07/9/30(日) 10:14 質問[未読]
【9891】Re:実行時エラー3061 hatena 07/10/1(月) 11:03 回答[未読]
【9892】Re:実行時エラー3061 taka 07/10/1(月) 12:50 質問[未読]
【9898】Re:実行時エラー3061 hatena 07/10/1(月) 22:26 回答[未読]
【9899】Re:実行時エラー3061 taka 07/10/2(火) 18:25 お礼[未読]

【9872】実行時エラー3061
質問  taka E-MAIL  - 07/9/27(木) 11:02 -

引用なし
パスワード
   VBAがよくわかっていない初心者ですがよろしくお願いします。
ある文をほぼまねて下記のものをつくりました。階層が3つあり第一階層ではうまく行ったのですが、二階層めでつまずきました。よろしくお願いします。
Dim W_mitu_M As Recordset
Dim w_gyo As Integer
Dim w_sql_W As String
Dim w_中項目No As Long

Me.Recalc
If IsNull(Me![中項目連番]) Then
 Exit Sub
End If
w_gyo = Me![中項目連番]
w_sql_W = "SELECT * FROM Q_見積明細中項目クエリ WHERE [中項目連番] >= " & w_gyo & " order by 中項目連番 "
ここでエラー Set W_siire_M = CurrentDb.OpenRecordset(w_sql_W, dbOpenDynaset)
Do Until W_mitu_M.EOF
 W_mitu_M.Edit
 W_mitu_M!中項目連番 = W_siire_M!中項目連番 + 1
 W_mitu_M.Update
 W_mitu_M.MoveNext
Loop
 W_mitu_M.AddNew
 W_mitu_M!中項目連番 = w_gyo
 W_mitu_M!中項目No = DMax("中項目No", "Q_見積明細中項目クエリ") + 1
 W_mitu_M.Update
 
 Form.Requery
DoCmd.GoToRecord , , acGoTo, w_gyo

【9879】Re:実行時エラー3061
回答  クロ  - 07/9/28(金) 15:15 -

引用なし
パスワード
   参照設定で
Microsoft DAO 3.* Object Library
にチェック。

Dim W_mitu_M As Recordset
は明示的に
Dim W_mitu_M As DAO.Recordset
とする

でどうでしょう?

【9886】Re:実行時エラー3061
発言  taka E-MAIL  - 07/9/28(金) 17:58 -

引用なし
パスワード
   ▼クロ さん:
>参照設定で
>Microsoft DAO 3.* Object Library
>にチェック。
>
>Dim W_mitu_M As Recordset
>は明示的に
>Dim W_mitu_M As DAO.Recordset
>とする
>
>でどうでしょう?
クロさんご指導頂ありがとうございます。今帰ってきて、早速試してみましたが、
だめでした。やはり同じところで、エラーとなります。パラメーターが少なすぎます。1を指定して下さい。とでます。w_sql_WでQ_見積明細中項目クエリというクエリから取っていますが、テーブルからとったほうがいいのでしょうか?
でも1階層目もクエリから取っていますが、難なく作動しています。
お手数かけますが、又よろしくお願いします。
ちなみに書き忘れましたがアクセス2000を使用しています。

【9887】Re:実行時エラー3061
質問  taka E-MAIL  - 07/9/28(金) 18:04 -

引用なし
パスワード
   ▼taka さん:
>▼クロ さん:
>>参照設定で
>>Microsoft DAO 3.* Object Library
>>にチェック。
>>
>>Dim W_mitu_M As Recordset
>>は明示的に
>>Dim W_mitu_M As DAO.Recordset
>>とする
>>
>>でどうでしょう?
>クロさんご指導頂ありがとうございます。今帰ってきて、早速試してみましたが、
>だめでした。やはり同じところで、エラーとなります。パラメーターが少なすぎます。1を指定して下さい。とでます。w_sql_WでQ_見積明細中項目クエリというクエリから取っていますが、テーブルからとったほうがいいのでしょうか?
>でも1階層目もクエリから取っていますが、難なく作動しています。
>お手数かけますが、又よろしくお願いします。
>ちなみに書き忘れましたがアクセス2000を使用しています。

他と表示されていますが、すいません。発言の所にチェックを入れていまいました。
よろしくお願いします。

【9888】Re:実行時エラー3061
回答  hatena  - 07/9/28(金) 20:31 -

引用なし
パスワード
   >だめでした。やはり同じところで、エラーとなります。パラメーターが少なすぎます。1を指定して下さい。とでます。w_sql_WでQ_見積明細中項目クエリというクエリから取っていますが、テーブルからとったほうがいいのでしょうか?

Q_見積明細中項目クエリ は、パラメータクエリではありませんか。

その場合は、テーブルからSQLを書いた方がいいでしょうね。

【9890】Re:実行時エラー3061
質問  taka E-MAIL  - 07/9/30(日) 10:14 -

引用なし
パスワード
   ▼hatena さん:
>>だめでした。やはり同じところで、エラーとなります。パラメーターが少なすぎます。1を指定して下さい。とでます。w_sql_WでQ_見積明細中項目クエリというクエリから取っていますが、テーブルからとったほうがいいのでしょうか?
>
>Q_見積明細中項目クエリ は、パラメータクエリではありませんか。
>
>その場合は、テーブルからSQLを書いた方がいいでしょうね。
hatenaさんありがとうございます。テーブルからやってみたのですが、いかんせん
初心者なので、うまくいきませんでした。過去ログなどを見ていたら、
クエリにフォームの値を参照している時は、SELECTではなしにQueryDefを使い、
パラメータを参照するようにかいてあったので、色々組み込んでやってみたのですが
うまくいきませんでした。当初の文から参考に書いて頂けないでしょうか。
どなたか助けて下さい。

【9891】Re:実行時エラー3061
回答  hatena  - 07/10/1(月) 11:03 -

引用なし
パスワード
   Q_見積明細中項目クエリ は、パラメータクエリなんですか。

Q_見積明細中項目クエリ のSQL文をここに貼り付けてもらえますか。

【9892】Re:実行時エラー3061
質問  taka E-MAIL  - 07/10/1(月) 12:50 -

引用なし
パスワード
   ▼hatena さん:
>Q_見積明細中項目クエリ は、パラメータクエリなんですか。
>
>Q_見積明細中項目クエリ のSQL文をここに貼り付けてもらえますか。

hatenaさん問いを見て頂いてありがとうございます。
Q_見積明細中項目クエリ を貼り付けます。よろしくお願いします。
SELECT T_見積明細.工事No, T_見積明細.工事名, T_見積明細.中項目抽出用大項目No, T_見積明細.中項目No, T_見積明細.中項目連番, T_見積明細.中項目, T_見積明細.中項目規格, T_見積明細.実行数量, T_見積明細.数量, T_見積明細.実行単位, T_見積明細.単位, T_見積明細.実行単価, T_見積明細.単価, [実行数量]*[実行単価] AS 実行金額, [数量]*[単価] AS 金額, T_見積明細.備考, T_見積明細.業者名
FROM T_見積明細
WHERE (((T_見積明細.中項目抽出用大項目No)=[Forms]![F_見積書明細大項目]![大項目No]))
ORDER BY T_見積明細.中項目連番;
ちょっと長いので読みづらいと思いますがよろしくお願いします。

【9898】Re:実行時エラー3061
回答  hatena  - 07/10/1(月) 22:26 -

引用なし
パスワード
   Dim w_sql_W As String
Dim qd As DAO.QueryDef
Dim W_siire_M As DAO.Recordset

  ・・・

  w_gyo = Me![中項目連番]
  w_sql_W = "SELECT * FROM Q_見積明細中項目クエリ WHERE [中項目連番] >= " & w_gyo & " order by 中項目連番 "
  Set qd = CurrentDb.CreateQueryDef("", w_sql_W)
  qd.Parameters(0) = Forms!F_見積書明細大項目!大項目No
  Set W_siire_M = qd.OpenRecordset

  ・・・

【9899】Re:実行時エラー3061
お礼  taka E-MAIL  - 07/10/2(火) 18:25 -

引用なし
パスワード
   ▼hatena さん:
>Dim w_sql_W As String
>Dim qd As DAO.QueryDef
>Dim W_siire_M As DAO.Recordset
>
>  ・・・
>
>  w_gyo = Me![中項目連番]
>  w_sql_W = "SELECT * FROM Q_見積明細中項目クエリ WHERE [中項目連番] >= " & w_gyo & " order by 中項目連番 "
>  Set qd = CurrentDb.CreateQueryDef("", w_sql_W)
>  qd.Parameters(0) = Forms!F_見積書明細大項目!大項目No
>  Set W_siire_M = qd.OpenRecordset
>
>  ・・・
hatenaさんたいへんありがとうございます。むちゃくちゃ嬉しいです。
ちょっと出張にいっていて今やってみたらうまくいきました。
もっと基本を勉強しないといけないですね。
全体をつくるまでまだ相当時間がかかると思いますが、わたしにしたら
大きな問題が通り抜けられました。又質問する機会があると思いますが、よろしくお願いします。とりいそぎ

833 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free