出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
[5165] ACCESSの接続 Execute |
投稿者:りえさん 2005/08/01 17:55:25 |
ASPの初心者ですが、次のプログラムを実行するとどうしてもこのようなエラーが出てきます。 因みに、WINDOWS XP ACCESS 2000 です。 エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 原因は → ObjConn.Execute(StrSQL) らしいですが、どうしても間違っているとは思えないのですが。 良ければ、教えていただけませんでしょうか。 よろしくお願い致します。 <% '***** データベース(guestbook.mdb)に接続 ***** Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _ Server.Mappath("guestbook.mdb") '***** データが送信されたときはデータを追加 ***** If Request.Form("act") = "insert" Then '***** フォームからデータを受け取る ***** name = Request.Form("name") word = Request.Form("word") entrydate = Now '***** 名前とメッセージが空白でないときはデータ追加SQLを実行 ***** If name <> "" and word <> "" Then StrSQL = "insert into T_Message (name,word,entrydate) " & _ "values ('" & name & "','" & word & "',#" & entrydate & "#)" ObjConn.Execute(StrSQL) End If End If %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <title>ゲストブック</title> </head> <body> <% Response.Write "<h2>ゲストブック</h2>" %> <form method="POST" action="guestbook.asp"> <table border="1"> <tr> <td>お名前</td> <td><input type="text" name="name"></td> </tr> <tr> <td>メッセージ</td> <td><textarea rows="5" name="word" cols="30"></textarea></td> </tr> </table> <input type="submit" name="sub" value="送信"> <input type="hidden" name="act" value="insert"> </form> <% '***** レコードセットの作成 ***** '***** テーブル「T_Message」のフィールド「id」が大きい順に並べ替え ***** Set ObjRS = Server.CreateObject("ADODB.Recordset") StrSQL = "select * from T_Message order by id desc" ObjRS.Open StrSQL, ObjConn '***** データの表示 ***** Do Until ObjRS.EOF %> <hr> <% = ObjRS("name") %>----------<% = ObjRS("entrydate") %><BR> <% = ObjRS("word") %> <% ObjRS.MoveNext Loop %> </body> </html> <% '***** データベースへの接続を解除 ***** ObjRS.Close Set ObjRS = Nothing ObjConn.Close Set ObjConn = Nothing %> |
[5166] Re:ACCESSの接続 Execute |
投稿者:YasNet(管理人)さん 2005/08/01 18:21:07 |
こんにちはYasNet(管理人)です。 実行直前の StrSQL の内容を確認してみましたか? きっとSQLが間違えているのでしょう。 それでは 失礼致します。 |
[5168] Re:ACCESSの接続 Execute |
投稿者:りえさん 2005/08/02 10:01:48 |
コメントどうもありがとうございます。SQLをACCESSクエリーで実行してみました。うまく行きましたので、私にとって難題になっています。ぜひ、たすけて頂きたいのですが |
[5170] Re:ACCESSの接続 Execute |
投稿者:YasNet(管理人)さん 2005/08/02 12:05:19 |
こんにちは YasNet(管理人)です。 > コメントどうもありがとうございます。SQLをACCESSクエリーで実行してみました。うまく行きましたので、私にとって難題になっています。ぜひ、たすけて頂きたいのですが って事は、権限がないんじゃないですか? Webサーバから更新できるように権限を与えてみてください。 それでは 失礼致します。 |
[5171] Re:ACCESSの接続 Execute |
投稿者:りえさん 2005/08/02 15:54:13 |
> って事は、権限がないんじゃないですか? > Webサーバから更新できるように権限を与えてみてください。 Accessに一行のデータを最初から入れていて、guest.aspを実行するとこの一行はページに表示されています。そうすると、権限があるということではないでしょうか。只今は新たなデータ一行を追加しようとしたら、エラーになります。SQLは実行してみたので自分は問題はないと思っていますが。。違いますか。 If name <> "" and word <> "" Then StrSQL = "insert into T_Message (name,word,entrydate) " & _ "values ('" & name & "','" & word & "',#" & entrydate & "#)" ObjConn.Execute(StrSQL) End If また、WEBサーバーに権限を与えるというのはどういうことでしょうか。 |
[5172] Re:ACCESSの接続 Execute |
投稿者:YasNet(管理人)さん 2005/08/02 21:11:00 |
こんにちは YasNet(管理人)です。 当サイトの『学習ASP』の第1章 ASPの基礎 あれ動かない http://yasch.com/asp/Study/Part1.html#2 は参考になりますか それでは 失礼致します。 |
[5623] Re:ACCESSの接続 Execute |
投稿者:はやしさん 2006/01/27 12:49:12 |
こんにちは。 > [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 上記は Accessで複数テーブルからクエリを作成し、それを更新しようとしたときによく発生した思い出があります。 「SQLをACCESSクエリーで実行して、うまく行った」とのことなので原因不明なのですが、ちょっと気になるのがテーブル名です。 テーブル名「T_Message」です。この”_”アンダーバーが悪さしている可能性があるかもしれません。 可能であれば、アンダーバーの付いていないテーブル名にして試してみてください。 #見当違いだったらごめんなさい。。 |
[5625] Re:ACCESSの接続 Execute |
投稿者:ビギナーズラックさん 2006/01/27 14:43:12 |
> 「SQLをACCESSクエリーで実行して、うまく行った」とのことなので原因不明なのですが、ちょっと気になるのがテーブル名です。 > テーブル名「T_Message」です。この”_”アンダーバーが悪さしている可能性があるかもしれません。 > 可能であれば、アンダーバーの付いていないテーブル名にして試してみてください。 茶々入れごめんなさい。 ただ、間違った認識を覚え込まれたら困るので(^^ とりあえず_は問題ないと思いますよ。 ただ-は問題ありますが... |
[5629] Re:ACCESSの接続 Execute |
投稿者:はやしさん 2006/01/27 16:59:13 |
> 茶々入れごめんなさい。 > ただ、間違った認識を覚え込まれたら困るので(^^ > とりあえず_は問題ないと思いますよ。 > ただ-は問題ありますが... Accessでのスキーマとテーブルの区切りが一般的なカンマではなく、アンダーバーだったと思ったので、関係あるかなと安易な考えで書き込んでしまいました。 ご指摘ありがとうございます。 |
[5617] Re:ACCESSの接続 Execute |
投稿者:Lightningさん 2006/01/26 16:48:25 |
発言者により削除されました!! |
TreeBBS For ASP V.0.1.3 |