Access VBA質問箱 IV

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

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


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

【3351】パススルークエリ ミホ 04/8/28(土) 14:49 質問[未読]
【3353】Re:パススルークエリ こもれび 04/8/28(土) 16:21 発言[未読]
【3354】Re:パススルークエリ ミホ 04/8/28(土) 16:42 発言[未読]
【3356】Re:パススルークエリ こもれび 04/8/28(土) 17:07 発言[未読]
【3357】Re:パススルークエリ ミホ 04/8/28(土) 17:17 発言[未読]
【3360】Re:パススルークエリ こもれび 04/8/28(土) 23:02 回答[未読]

【3351】パススルークエリ
質問  ミホ  - 04/8/28(土) 14:49 -

引用なし
パスワード
   OS:W2k
ACCESS 2000

初めまして、ACCESSを初めて1ヶ月足らずの初心者ですが、
パスクエリーについて教えてください。
過去ログを探してみたのですが、該当するのがなかったようでして・・・
現在以下のようにコードを書いているのですが、
>--------------------------
dim mysql as string
dim rs as recordset
dim db as database
dim qd as querydef

mysql = "select * from a_tbl"
set db = currentdb
set qd = db.qerydef![q_pass]
qd.connect = "odbc;dsn=aaa;uid=aaa;pwd=aaa"
qd.returnrecords = true
qd.odbctimeout = 3000
qd.sql = mysql
set rs = qd.openrecordset(dbopensnapshot) <- ここでエラー

となり、データを取得できずにいます。
何がおかしいのでしょうか?
ちなみに、作成されたクエリ(q_pass)をクエリより動かすと、
正常にデータを取得してきます。
すみませんが、よろしくお願いいたします。
接続はORACLE9iです。またODBCドライバーはORACLEを
使用しております。

【3353】Re:パススルークエリ
発言  こもれび  - 04/8/28(土) 16:21 -

引用なし
パスワード
   DAOをお使いですが、「参照設定」は大丈夫でしょうか?

「Microsoft DAO 3.x Object Library」

が参照できる設定になっているかどうかご確認ください。

気がついたこと…

>mysql = "select * from a_tbl"

SQLステートメントの最後には「;」(セミコロン)を付けましょう。

【3354】Re:パススルークエリ
発言  ミホ  - 04/8/28(土) 16:42 -

引用なし
パスワード
   こもれびさん、レスありがとうございます。
まずご指摘の点ですが、
参照設定は、Microsoft DAO 3.6 Object Library
を指定しています。
また、セミコロンを追加して行いましたが、
同現象でした。

【3356】Re:パススルークエリ
発言  こもれび  - 04/8/28(土) 17:07 -

引用なし
パスワード
   エラーメッセージはどのような内容でしょうか?

オブジェクトなのか… 構文なのか…

【3357】Re:パススルークエリ
発言  ミホ  - 04/8/28(土) 17:17 -

引用なし
パスワード
   ミホです。

エラーメッセージですが、出力されずに異常終了してしまいます。
どうやって確認したらいいのでしょうか?
現在は on error goto err_1で行っているだけです。
なんだか、超初心者な回答及び質問で申し訳ありません。


▼こもれび さん:
>エラーメッセージはどのような内容でしょうか?
>
>オブジェクトなのか… 構文なのか…

【3360】Re:パススルークエリ
回答  こもれび  - 04/8/28(土) 23:02 -

引用なし
パスワード
   こもれびです

どうもクエリーが二重になっているような気がします。
これをお試しください。

  Dim ws As DAO.Workspace
  Dim db As DAO.Database
  Dim rs As DAO.Recordset

  Set ws = DBEngine.Workspaces(0)

  Set db = ws.OpenDatabase("ORACLE", False, False, _
      "ODBC;Driver={Oracle in OraHome92};" & _
      "SERVER=(server);DATABASE=ORACLE;" & _
      "UID=aaa;PWD=aaa;DSN=aaa")

  Set rs = db.OpenRecordset("select * from a_tbl;", _
      dbOpenDynaset, dbSeeChanges)

  Set Me.RecordSource = rs

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