Access VBA質問箱 IV

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

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


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

【8216】VBAにてパラメータに関する質問 Yaesu 06/7/12(水) 10:15 質問[未読]
【8223】Re:VBAにてパラメータに関する質問 クロ 06/7/12(水) 14:15 発言[未読]
【8228】Re:VBAにてパラメータに関する質問 Yaesu 06/7/12(水) 16:38 質問[未読]
【8230】Re:VBAにてパラメータに関する質問 クロ 06/7/12(水) 16:44 発言[未読]
【8232】Re:VBAにてパラメータに関する質問 hatena 06/7/12(水) 18:47 回答[未読]
【8233】Re:VBAにてパラメータに関する質問 hatena 06/7/12(水) 18:50 回答[未読]

【8216】VBAにてパラメータに関する質問
質問  Yaesu  - 06/7/12(水) 10:15 -

引用なし
パスワード
   お世話になります。
以下のVBAを実行すると、エラーがでてしまいます。
其の原因はテーブルABCのデータソース(クエリ)にはパラメータが仕込んでいるからだと推測ですが・・・。
パラメータを外すことはできなくて、解決策はあるのでしょうか?
ご伝授ください。

Function text_Export01()
Const csXlPath As String = "C:\year\ABC.xls"
Dim i As Long
Dim xlsApp As Object
Dim xlsWkb As Object
Dim RS As DAO.Recordset
  Set RS = CurrentDb.OpenRecordset("ABC", dbOpenSnapshot)・・・黄色反転
  Set xlsApp = CreateObject("Excel.Application")
  Set xlsWkb = xlsApp.Workbooks.Open(csXlPath)
  'xlsApp.Visible = True
  With xlsWkb.Sheets("cho_year")
    .Range("A1:H65560").ClearContents
    For i = 1 To RS.Fields.Count
      .Cells(1, i).Value = RS(i - 1).Name
    Next
    .Range("A2").CopyFromRecordset RS
  End With
  xlsWkb.Close True: Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing
/

【8223】Re:VBAにてパラメータに関する質問
発言  クロ  - 06/7/12(水) 14:15 -

引用なし
パスワード
   こんにちは
パラメータはどのような風にしてますか?
1.クエリの抽出条件に [○○○を入れてください]みたいにしている
2.クエリの抽出条件にフォームのテキストボックスなどを指定している
3.そのた(詳しく)

【8228】Re:VBAにてパラメータに関する質問
質問  Yaesu  - 06/7/12(水) 16:38 -

引用なし
パスワード
   ▼クロ さん:
>こんにちは
>パラメータはどのような風にしてますか?
>1.クエリの抽出条件に [○○○を入れてください]みたいにしている
>2.クエリの抽出条件にフォームのテキストボックスなどを指定している
>3.そのた(詳しく)

1.のようにしています。

【8230】Re:VBAにてパラメータに関する質問
発言  クロ  - 06/7/12(水) 16:44 -

引用なし
パスワード
   クエリのSQL文を提示できますか?

パラメータ部分をコード上でInputBoxに置き換えてみるとか?
もしくは、前述の2の方法をとってみるとか?

【8232】Re:VBAにてパラメータに関する質問
回答  hatena  - 06/7/12(水) 18:47 -

引用なし
パスワード
   パラメータが、[入力してください] だとして、
自分自身のフォームの txt1 の値を入れたいのだと仮定して、

Dim Qd As DAO.QueryDef, Rs As DAO.Recordset

  Set Qd = CurrentDb.QueryDefs("ABC")
  qd.Parameters("入力してください") = Me.txt1
  Set Rs = qd.OpenRecordset()


で、どうでしょうか。

【8233】Re:VBAにてパラメータに関する質問
回答  hatena  - 06/7/12(水) 18:50 -

引用なし
パスワード
   InputBox を使うなら、

Dim Qd As DAO.QueryDef, Rs As DAO.Recordset

  Set Qd = CurrentDb.QueryDefs("ABC")
  qd.Parameters("入力してください") = InputBox("入力してください")
  Set Rs = qd.OpenRecordset()

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