解決済みの質問

質問No.3699503
困ってます
困ってます
お気に入り投稿に追加する (0人が追加しました)
回答数2
閲覧数13283
抽出条件でデータ型が一致しません。のエラーメッセージが出る
フォームで入力された値を、
次のファイルでクエリを読み込むときに代入するASPを作成しましたが、実行しようとすると、
「データ型が一致しません。」のエラーメッセージが出ます。
DBはACCESSを使用しています。ACCESSの対象テーブルで、
データ型を「テキスト型」にすると問題ないのですが、
「数値型」にすると、「データ型が一致しません」の
エラーメッセージになります。
フォームでは、プルダウンで「数値」を選択するようになっています。
宜しくお願いします。
投稿日時 - 2008-01-21 12:01:34

質問者が選んだベストアンサー

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

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

『'』でくくる必要があるのは対象のフィールドが文字列の場合です
投稿日時 - 2008-01-21 16:02:31
この回答を支持する
(現在0人が支持しています)
お礼
回答ありがとうございます。
「'」を外したらできました。
ありがとうございました。
投稿日時 - 2008-01-21 17:38:38
この質問は役に立ちましたか?
3人が「このQ&Aが役に立った」と投票しています

ベストアンサー以外の回答 (1)

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

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

公開しても支障の無い範囲でコードを公開してみましょう
投稿日時 - 2008-01-21 14:02:29
この回答を支持する
(現在0人が支持しています)
お礼
回答ありがとうございます。
言葉足らずで申し訳ありません。
以下のようになります。

****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:07
別のキーワードで再検索する
もっと聞いてみる

関連するQ&A

回答募集中

この他の関連するQ&Aをキーワードで探す

-PR-

OKWaveのおすすめ情報

特集

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

カテゴリ
Microsoft ASP

回答のついた最新のQ&A

-PR-

ピックアップ

ノウハウ共有サイト

-PR-
-PR-