ASPでアクセス97を使って品番、納期という順番に表示させたいのですが
うまくいきません。
SQL文を使って品番順にはならんだのですが、納期がばらばらになってしまいます。どうしたら品番、納期順という並びになるか教えて下さい。
Dim Conn,SQL,RS
xxxx=server.mappath("*****.mdb")
DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & xxxx
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open DBName
SQL = "select * from ******"
SQL = SQL & " order by 品番 asc"
set RS = Server.CreateObject("ADODB.Recordset")
RS.Open SQL, Conn,3,3

A 回答 (1件)

SQL = SQL & " order by 品番 asc"


の部分を
SQL = SQL & " order by 品番 asc, 納期 asc"
にしてみては?
    • good
    • 0
この回答へのお礼

できました。ありがとうございました

お礼日時:2001/05/11 15:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QGlobal.asaxで Server.CreateObject("ADODB.Connection")が出来ない

ASP→ASP.netへ移行作業をしています。

Global.asaで、
set Application("DB") = Server.CreateObject("ADODB.Connection")
を、
Global.asaxで、
Application("DB") = Server.CreateObject("ADODB.Connection")
としたのですが、エラーで、
「コンポーネント 'ADODB.Connection' を作成できません。アパートメント スレッド コンポーネントは、<%@ Page aspcompat=true %> ページ ディレクティブを含むページでのみ作成できます。 」
となってしまします。
<%@ Page aspcompat=true %>を記述すればよいのかと思い、Global.asax中に記述しましたが、エラーになってしまいました。
'ADODB.Connection'を作成するには、どうすればよいでしょうか?

Aベストアンサー

ASP.NETではADO.NETを使いましょう。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1662698

また、アプリケーション単位でConnectionを持つのは、同時アクセスがあった場合にバグります(経験者)

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1662698

QASP(VBScript) & SQL Server でのエスケープ処理

現在、 ASP(VBScript) & SQL Server で開発しております。

PHP & MySQL では
文字列型:mysql_escape_string
数値型:intval

PHP & PostgreSQL では
文字列型:pg_escape_string
数値型:intval

ですが、

ASP(VBScript) & SQL Server にはそのような関数がありますでしょうか?

ない場合は自作しなければならないのですが、

エスケープする文字は「'」のみで大丈夫でしょうか?

ご教授いただければ幸いです。

Aベストアンサー

使ってたのが昔の事で確かではありませんが、無いと思います。
自作した覚えがあります。

また、SQLサーバでなら、ADOでPrepareを使えばSQLインジェクション対策になりますよ。

QADODB.Recordsetを使用してExcelのデータを取得

よろしくお願いします。
以下のコードで、最終行で「エラーを特定できません」というエラーが表示されるのですが、
エラーが表示される時とされない場合があります。

Dim ObjRS
Set ObjRS = Server.CreateObject("ADODB.Recordset")
Dim StrConn
StrConn = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" &_
Request.ServerVariables("APPL_PHYSICAL_PATH") & StrFileName & ";"
Dim StrSQL
StrSQL = "SELECT * FROM " & EXCEL_DATA_RANGE_NAME
ObjRS.Open StrSQL, StrConn, 0

最初に実行したときは、エラーも表示されず、期待した結果を得ることができるのですが、再度実行したら「エラーを特定できません」となり、
1分ほど時間をおくとまたエラーを起こさずに動作するという感じです。
まったく原因が分からず、困っております。
宜しくお願いいたします。

よろしくお願いします。
以下のコードで、最終行で「エラーを特定できません」というエラーが表示されるのですが、
エラーが表示される時とされない場合があります。

Dim ObjRS
Set ObjRS = Server.CreateObject("ADODB.Recordset")
Dim StrConn
StrConn = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" &_
Request.ServerVariables("APPL_PHYSICAL_PATH") & StrFileName & ";"
Dim StrSQL
StrSQL = "SELECT * FROM " & EXCEL_DATA_RANGE_NAME
ObjRS.Open StrSQL, StrConn, 0

最初に...続きを読む

Aベストアンサー

>IISの設定は変更できない状況ですので、何とかIISの設定を変更せずに解決したいのですが。。。

設定ができないまでも、権限設定の内容を確認するだけでもできないでしょうか?

後、この件で気になったのは同時アクセスです。
別のユーザが該当ASPに対し、このExcelのロード処理をつかんでしまっている可能性は考えられないですか?
1人でローカルPCでアクセスしている時は、自分だけしかアクセスしないのでこのエラーは発生しませんが、恐らく、実稼働サーバーにリリースして動かした際、複数のユーザが同時にアクセスしますので、Excelファイルが排他ロックかかっている可能性が高いかなと思います。

やはり、私が言っていた権限の話とExcelの排他アクセスに関することが、MSのサイトにも掲載されてました。
http://support.microsoft.com/kb/195951/ja

MSのサイトで掲載されているエラーの現象とまったく同じものが掲載されていますので参考になるのではないかと思います。
なので、サーバーの権限設定と排他制御、この2つがクリアできないと、問題は解決しないと言えると思います。

稼働サーバーの管理者に依頼し、まずはExcelの権限、ファイルの排他状況を確認してみてください。
「Excelファイルが存在するのは間違いない」ということが確認できたのですから、権限設定の確認もできるはずです。

稼働サーバーの設定は避けたいとお思いな気持ちや事情はわかりますが、こういったものは、一度設定してしまえば、二度と変更する必要がないものですので、ビジネス上の政治的な話もあるかもしれませんが、そこはサーバー管理者等と調整して、設定を行えるよう調整すべきです。

エラーの原因が環境にあるのに、環境を変更できません というより、そのアプリやWebサイトを使っている利用者側の立場だったら、動かないアプリ・Webサイトを見せられている方が損害が大きいはずです。

プログラムと環境設定は常にセットで動くものであるということを
肝に銘じて頂きたいです。宜しくお願いします。

>IISの設定は変更できない状況ですので、何とかIISの設定を変更せずに解決したいのですが。。。

設定ができないまでも、権限設定の内容を確認するだけでもできないでしょうか?

後、この件で気になったのは同時アクセスです。
別のユーザが該当ASPに対し、このExcelのロード処理をつかんでしまっている可能性は考えられないですか?
1人でローカルPCでアクセスしている時は、自分だけしかアクセスしないのでこのエラーは発生しませんが、恐らく、実稼働サーバーにリリースして動かした際、複数のユーザが...続きを読む

QADODB.Recordset エラー '800a0cc1' が出てしまいます。

はじめまして。SQL文について質問です。
以下の文で、
'2009/04/01 0:0:0'~'2009/04/21 23:59:59'の間にあるデータのうち
最も時間の古いものを取りたいのですが、エラーが出てしまいました。
ひととおり、調べたのですが、基本的すぎて分かりませんでした。
御指摘いただけるとうれしいです。

SELECT sID,KANJINAME,KANANAME,WARDNAME,subject,MAX(D_time) FROM Q_Reg1Data
WHERE ((D_time >= CDate('2009/04/01 0:0:0')) AND (D_time <= CDate('2009/04/21 23:59:59')))
GROUP BY sID,KANJINAME,KANANAME,WARDNAME,subject

ADODB.Recordset エラー '800a0cc1'

Aベストアンサー

データベースの相手は何ですか?Accessですか?Oracleですか?
ADOだからといって、相手のデータベースが解釈できない関数は使用できません。
⇒CDate関数を気にしています。

文面には相手のデータベースが書いてありませんので、以下は想像なので、失礼な点があるかもしれません。

CDate関数を使っているところからAccessかと思いますが、単にVBだからという勘違いはないでしょうか?

もし、相手のデータベースがOracleの場合は、
D_time>=TO_DATE('2009/04/01','YYYY/MM/DD') AND D_time<TO_DATE('2009/04/21','YYYY/MM/DD')

また、MySQLの場合は、
D_time>=DATE_FORMAT('2009/04/01','%Y/%m/%d') AND D_time<DATE_FORMAT('2009/04/21','%Y/%m/%d')

などと使い分ける必要があります。

ちなみに、
>最も時間の古いものを
MIN(D_time)では?

データベースの相手は何ですか?Accessですか?Oracleですか?
ADOだからといって、相手のデータベースが解釈できない関数は使用できません。
⇒CDate関数を気にしています。

文面には相手のデータベースが書いてありませんので、以下は想像なので、失礼な点があるかもしれません。

CDate関数を使っているところからAccessかと思いますが、単にVBだからという勘違いはないでしょうか?

もし、相手のデータベースがOracleの場合は、
D_time>=TO_DATE('2009/04/01','YYYY/MM/DD') AND D_time<TO_DATE('20...続きを読む

QASPプログラミングでADODB.Connection (0x800A0E79)エラーが発生

ASP+MSDE 実用Webアプリケーション作成ガイド「ASP実践プログラミング入門」
と言う本を頼りにASPを勉強中です。

現在は、
(1) SQL Server2000内にDBとTable(user_info)を作成。
(2) global.asaファイルを設置。
(3) 「ユーザ登録」aspを実行。(user_infoに追加された)
(4) 「ログオン」aspを実行。

と進めていますが、(4)を実行しID+パスワードを入力後に次のような
エラーがブラウザ上に表示されます。

どなたかお助け頂きたくお願いします。


Q1)『ADODB.Connection (0x800A0E79)オブジェクト・・』と怒られている
  ようですが、何が原因なのでしょうか?

Q2) 解決に向けて調べるべき要点はどこでしょうか?


■発生したエラーはここから■
(IE上の表示です)

ページを表示できません
接続しようとするページに問題があるため、そのページを表示できません。
---------------------対処方法

・[更新] をクリックするか、後で再度実行してください。
・次のホームページ 1**.**.***.**6を開き、 必要な情報が記載されたページ
 へのリンクを探します。
HTTP 500.100 - 内部サーバー エラー - ASP エラー
インターネット インフォメーション サービス
---------------------
技術情報 (サポート担当者用)
・エラー タイプ
 ADODB.Connection (0x800A0E79)
 オブジェクトが開いている場合は、操作は許可されません。
 /mailhen/logon.asp, line 4

・ページ
 POST 27 bytes to /mailhen/logon.asp

・POST Data:
 user=mura****&pass=r*****k

■ここまで■

/mailhen/logon.asp, line 4
1:<% If Request.Form("user") <> "" Then
2: user_id = Request.Form("user")
3: password = Request.Form("pass")
4: adcn.Open Application("DBCN")
5: adrs.Open "select * from user_inf

ASP+MSDE 実用Webアプリケーション作成ガイド「ASP実践プログラミング入門」
と言う本を頼りにASPを勉強中です。

現在は、
(1) SQL Server2000内にDBとTable(user_info)を作成。
(2) global.asaファイルを設置。
(3) 「ユーザ登録」aspを実行。(user_infoに追加された)
(4) 「ログオン」aspを実行。

と進めていますが、(4)を実行しID+パスワードを入力後に次のような
エラーがブラウザ上に表示されます。

どなたかお助け頂きたくお願いします。


Q1)『ADODB.Connection (0x800A0E79)オ...続きを読む

Aベストアンサー

murasacoさん、はじめまして^^

コネクションエラーについてですが、DBまでのパスがあっているかどうかや、ファイル名の指定にミスが無いかどうかをまず確認すると良いと思います。
あとはSQLを実行させる際に、入力された文字などが正しく入ってきているかどうかを確認する為に、Response.writeでSQLの入っている変数を表示してみると良いと思います。

データベースソフトはACCSESSですかね?
その場合はファイルがロックされていないかどうかも確認してみると良いかもしれません^^


おすすめ情報