プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

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



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

『'』でくくる必要があるのは対象のフィールドが文字列の場合です
    • good
    • 4
この回答へのお礼

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

お礼日時:2008/01/21 17:38

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



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

公開しても支障の無い範囲でコードを公開してみましょう
    • good
    • 1
この回答へのお礼

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

****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になります。


宜しくお願い致します。

お礼日時:2008/01/21 14:52

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A