|
出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
Topに戻る
掲示板に戻る
検索
削除
管理者
|
![]()
ACCESSの接続 Execute
りえさん
[2005/08/01 17:55:25]
[5165]
|
Re:ACCESSの接続 Execute
YasNet(管理人)さん
[2005/08/01 18:21:07]
[5166]
Re:ACCESSの接続 Execute
りえさん
[2005/08/02 10:01:48]
[5168]
Re:ACCESSの接続 Execute
YasNet(管理人)さん
[2005/08/02 12:05:19]
[5170]
Re:ACCESSの接続 Execute
りえさん
[2005/08/02 15:54:13]
[5171]
Re:ACCESSの接続 Execute
YasNet(管理人)さん
[2005/08/02 21:11:00]
[5172]
Re:ACCESSの接続 Execute
はやしさん
[2006/01/27 12:49:12]
[5623]
Re:ACCESSの接続 Execute
ビギナーズラックさん
[2006/01/27 14:43:12]
[5625]
Re:ACCESSの接続 Execute
はやしさん
[2006/01/27 16:59:13]
[5629]
発言者により削除されました!!
Lightningさん
[2006/01/26 16:48:25]
[5617]
|
| [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 |