質問

フォームで入力された値を、
次のファイルでクエリを読み込むときに代入するASPを作成しましたが、実行しようとすると、
「データ型が一致しません。」のエラーメッセージが出ます。
DBはACCESSを使用しています。ACCESSの対象テーブルで、
データ型を「テキスト型」にすると問題ないのですが、
「数値型」にすると、「データ型が一致しません」の
エラーメッセージになります。
フォームでは、プルダウンで「数値」を選択するようになっています。
宜しくお願いします。

通報する

回答 (2件)

Where区に指定した条件のフィールドが数値なら『'』でくくる必要がありません

Set rs = db.Execute("SELECT テーブル3.* FROM テーブル3 WHERE (テーブル3.番号)=" & bangou)
といった具合に修正してみましょう

『'』でくくる必要があるのは対象のフィールドが文字列の場合です

この回答へのお礼

回答ありがとうございます。
「'」を外したらできました。
ありがとうございました。

開発環境や行った手順について具体的な投稿をしましょう

お使いの開発環境やOSのバージョンやどこコントロールを使ったのか
どういった手順でDBと接続しているのか

公開しても支障の無い範囲でコードを公開してみましょう

この回答へのお礼

回答ありがとうございます。
言葉足らずで申し訳ありません。
以下のようになります。

****1.html*****
<form method="POST" action="2.asp">
<SELECT name="bangou">
<OPTION value="1">1</OPTION>
<OPTION value="2">2</OPTION>
<OPTION value="3">3</OPTION>
</OPTION>
</SELECT>
</form>

****2.asp*****
Set db=Server.CreateObject("ADODB.Connection")
db.Provider = "Microsoft.Jet.OLEDB.4.0"
db.ConnectionString = Server.MapPath("3.mdb")
db.open
Set rs = db.Execute("SELECT テーブル3.* FROM テーブル3 WHERE (テーブル3.番号)='" & bangou& "'")

****3.mdb******
テーブル3の番号フィールドのデータ型が「数値型」にすると、
エラーメッセージになります。
「テキスト型」だと問題ありません。

OSはXPprofessional、ACCESSは2003になります。


宜しくお願い致します。

このQ&Aは役に立ちましたか?5 件

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

新しく質問する

注目の記事

おしトピにAndroid版アプリが登場

話題のトピックにさくっとコメントできる「おしトピ」に Android版アプリが登場! もっと身近に使いやすくなりました。
今ならダウンロードで話題の掃除ロボットや全天球カメラが 当たるプレゼントキャンペーンも実施中。

このQ&Aを見た人が検索しているワード


新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ