出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

Accessからデータを取得できない   山影さん [2003/01/14 19:15:26] [3092]
  Re:Accessからデータを取得できない   暇人さん [2003/01/15 9:52:10] [3093]
    Re:Accessからデータを取得できない   山影さん [2003/01/15 13:29:38] [3094]
    すみませんでした。   山影さん [2003/01/17 15:15:18] [3112]
  ご報告   山影さん [2003/01/17 19:18:14] [3115]

[3092] Accessからデータを取得できない
投稿者:山影さん 2003/01/14 19:15:26
はじめまして。宜しくお願いします。

ASPでADOを利用してAccessのDBからデータを取得しようとしています。
このときに、下記のようなメッセージが表示されてデータを取得できません。原因や対処方法をご存知でしたらお教えください。
「多段階の OLE DB の操作でエラーが発生しました。
各 OLE DB の状態の値をチェックしてください。
作業は終了しませんでした。」
なお、コードは下記のとおりです。

'[コード]
<body>
<%
SQLs = "SELECT [tbl1].fld1, Avg([tbl2].TestVal) AS aveTest FROM tbl1 INNER JOIN tbl2 ON tbl1.key2 = tbl2.key2 "
where = ""
groupby = "GROUP BY [tbl1].fld1"
SQLs = SQLs & " " & where & " " & groupby & ";"
%>
<form>
<table border="1">
<tr>
<th>Code</th>
<th>Average</th>
</tr>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRecord = Server.CreateObject("ADODB.RecordSet")
Application.Lock
objConn.Open Application("mdbODBC")
objRecord.Open SQLs, objConn, adOpenForwardOnly, , adCmdText
Do Until objRecord.EOF
Response.Write "<tr>"
Response.Write "<td align='center'>" & objRecord("fld1").Value & "</td>"
Response.Write "<td align='center'>" & objRecord("aveTest").Value & "</td>"
Response.Write "</tr>"
objRecord.MoveNext
Loop
objRecord.Close
Set objRecord = Nothing
objConn.Close
Set objConn = Nothing
%>
</table>
</form>
</body>

[3093] Re:Accessからデータを取得できない
投稿者:暇人さん 2003/01/15 9:52:10
問題の切り分けを行う必要があります
1、SQL文の作成ミス
AccessのSQLビューに直接入れて動くかどうかみます。仕様通り動けば問題なし
2、Applicationオブジェクトの作成ミス
On_Startイベントは間違ってませんか?
global.asaはちゃんと働いていますか?
3、Cookieは有効になっているか?
Applicationオブジェクトを使うにはCookieが有効になっていないと駄目です
4、接続文字列のミス
パスワード、IDは間違ってないでしょうか?
同じ接続文字列を使って、ただ単にデータベースにアクセスするだけのASPを作ってテストします

他にも原因はいろいろありえますが、とりあえずこんだけ

[3094] Re:Accessからデータを取得できない
投稿者:山影さん 2003/01/15 13:29:38
暇人さん、ありがとうございます。

> 問題の切り分けを行う必要があります
> 1、SQL文の作成ミス
> AccessのSQLビューに直接入れて動くかどうかみます。仕様通り動けば問題なし

SQL文は問題ありませんでした。

> 2、Applicationオブジェクトの作成ミス
> On_Startイベントは間違ってませんか?
> global.asaはちゃんと働いていますか?

ちゃんと働いているように思えます。

> 3、Cookieは有効になっているか?
> Applicationオブジェクトを使うにはCookieが有効になっていないと駄目です

有効になっていました。

> 4、接続文字列のミス
> パスワード、IDは間違ってないでしょうか?
> 同じ接続文字列を使って、ただ単にデータベースにアクセスするだけのASPを作ってテストします

テスト段階なので何も設定しておらず、他のところでDBアクセスは
できました。

質問してから再度状況を確認したのですが、既存のフィールドの値は
取得できるのですが、SQL文でAS節を用いて設定した計算式の値を
取得しようとするとエラーが発生するように思います。

どうか、宜しくお願いいたします。


[3112] すみませんでした。
投稿者:山影さん 2003/01/17 15:15:18
すみませんでした。

同じコードで可能なテーブルがあるということがわかりました。
コードの問題ではなく、DBの問題だったようです。

これからじっくりDBをチェックしてみます。

暇人さん、ご迷惑をおかけしてすみませんでした。
そして、ありがとうございました。

[3115] ご報告
投稿者:山影さん 2003/01/17 19:18:14
いろいろ試した結果、AVG関数をやめ、SUM関数とCOUNT関数を用いて
自力で平均を計算させるとうまくいきました。

もしかしたらサーバやDBの性能の問題なのかもしれません。
(実際は11万レコード程度あります)

とりあえず、ご報告まで。



TreeBBS For ASP V.0.1.3
Program By YasNet