- ベストアンサー
抽出条件でデータ型が一致しません。のエラーメッセージが出る
フォームで入力された値を、 次のファイルでクエリを読み込むときに代入するASPを作成しましたが、実行しようとすると、 「データ型が一致しません。」のエラーメッセージが出ます。 DBはACCESSを使用しています。ACCESSの対象テーブルで、 データ型を「テキスト型」にすると問題ないのですが、 「数値型」にすると、「データ型が一致しません」の エラーメッセージになります。 フォームでは、プルダウンで「数値」を選択するようになっています。 宜しくお願いします。
- smorgas030
- お礼率85% (231/269)
- Microsoft ASP
- 回答数2
- ありがとう数7
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Where区に指定した条件のフィールドが数値なら『'』でくくる必要がありません Set rs = db.Execute("SELECT テーブル3.* FROM テーブル3 WHERE (テーブル3.番号)=" & bangou) といった具合に修正してみましょう 『'』でくくる必要があるのは対象のフィールドが文字列の場合です
その他の回答 (1)
- redfox63
- ベストアンサー率71% (1325/1856)
開発環境や行った手順について具体的な投稿をしましょう お使いの開発環境や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
- Access2003 コントロールの(?)エラーメッセージ
Access2003 コントロールの(?)エラーメッセージ excelからインポートしたデータでテーブルを作り、そこから、今後もデータを増やしていけるようにフォームを作ろうとしています。 まず、オートフォームでフォームを作りました。 データの中に「カテゴリー」を表示するフィールドがあり、そこはフォーム入力時にプルダウンで選んで登録できるように、コンボボックスを使ってカテゴリーフィールド(コントロール)を作りなおしたところ、「例えば数値型のフィールドに文字列を挿入しようとした」というようなエラーメッセージが出ます。 このフィールドは元からテキスト値が入っていたところで、プルダウンで選べるようにしたカテゴリーリストのテーブルの方もテキスト値で入力しています。 なので、このエラーメッセージが「例えば」と言っているのと全く同じエラー(数値型のフィールドにテキスト値を入れる)がでているわけではないとは思うのですが、他に何が悪のいかがわかりません。 どこをどうしたらいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- ACCESS抽出条件でデータ型が一致しません
ACCESSのクエリで抽出条件に"20140106"と入力しますと下記のエラーメッセージが出てきます。 教えて頂けないでしょうか? 抽出条件でデータ型が一致しません。(Error 3464) Find 系メソッドの抽出条件式で、比較する値のデータ型がフィールドのデータ型と一致していません。
- 締切済み
- その他(生活・暮らし)
- ACCESSのクエリ:抽出条件で型が一致しません
ACCESSでクエリを作ったのですが 実行すると、 「抽出条件で型が一致しません」のエラーが出ます 問題となっているヶ所は テーブルのフィールド定義がバイナリーになっています そして、クエリで フィールド テーブル 並べ替え 表示 抽出条件 または となっていますが、 この抽出条件に、1、を入れました テキスト型なら、"1" 数値系型なら、1、でいいのか、と思ったのですが バイナリ型は別の表現があるのでしょうか よろしくお願いします
- ベストアンサー
- オフィス系ソフト
- Accessのフォームでデータを入力すると、テーブルと一致するデータをあるフィールドに代入してしまうことは可能ですか?
本来のAccessの使い方ではないかもしれませんが・・・。 あるフォームで品番を入力すると、品番マスターなるテーブルから値を 検索して一致したフィールド(品名・数量)の値を直接フォームの フィールドに代入してしまうことは可能ですか? マクロの値の代入というものを使ってもうまくいきません。 また、クエリーを使えば、品番を入力すれば品名・数量が出るように することはできるのですが表示上だけですので、フォームに直接値 が入力されるようにしたいのです。 方法がうまく思いつきません。どうかお知恵をお貸しください!!
- 締切済み
- オフィス系ソフト
- 【Access】部分一致で不一致データを抽出したい
クエリで2つのテーブルから、不一致データを抽出したいのですが、 完全一致だけでなく部分一致のデータも一致データとして取り除きたいです。 [テーブルA]フィールド1 000-0001 000-0001A 000-0002 000-0003 000-0004 [テーブルB]フィールド2 000-0001 000-0002 というようなデータで、結果は [結果] 000-0003 000-0004 というふうにしたいです。 (000-0001だけでなく000-0001Aというデータも取り除きたいのです。) Access初心者で、クエリウィザードを使用した重複データ抽出、不一致データ抽出、 およびクエリデザインを使用した重複データ抽出が何とかできる程度です。 初心者でも分かるようにご回答いただければ大変助かります。 よろしくお願いいたします。
- 締切済み
- その他MS Office製品
- 抽出条件でデータ型が一致しません。(エラー 346
フロント:Access2003 , バック:SQL Server7.0 テーブル名 dbo_TB1(ODBCテーブル) Access2003 日付 データ型(日付/時刻型) yyyy/mm/dd SQL7.0 日付 データ型(smalldatetime) yyyy/mm/dd 以下のモジュールを実行すると、 抽出条件でデータ型が一致しません。(エラー 3464) とエラーが出てしまいます。 よろしくお願いします。 Dim myDate As Date myDate = Date strSQL = Empty strSQL = strSQL & "SELECT * FROM dbo_TB1" strSQL = strSQL & " WHERE 日付 = #" & myDate & "#" strSQL = strSQL & " ORDER BY 日付" Forms![フォーム].Form.RecordSource = strSQL
- 締切済み
- その他(データベース)
- テキスト型に入れた値を数値に変換し、「#エラー」を
テキスト型に入れた値を数値に変換し、「#エラー」を0にしたいです。 access2003です。 テーブル1を ・テキスト型 ・主キーなし として データを 1 2 あ を投入します。 そして SELECT CLng(テーブル1!フィールド1) AS 数値型に変換 FROM テーブル1; クエリを作りました。 このクエリを開くと 1と2は数値に変換されますが、文字列を入れた「あ」は 「#エラー」になります。 「#エラー」を0にしたいのですが どうすえばいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- VBA 抽出条件でデータ型が一致しません
Access 2003について教えて下さい。環境はWin XPです。 Table1 ID(メモ型),日付(日付/時刻型 書式 日付(S)) 001,2012/08/10 002,2012/08/10 Form1 フォームにはテキストボックス、 txt_Dateがあります。 書式は日付(S)です。 ここには、yyyy/mm/ddの形式で値を打ち込む、またはカレンダーから選択します。 同じくボタン、btn_exeがあります。 これをクリックすると処理がはじまります。 Dim getDate As Date Dim strSQL As String Dim objADOCON As ADODB.Connection Dim objADORS As ADODB.Recordset getDate = txt_Date.Value strSQL = "select * from Table1 where 日付 = '" & getDate & "'" objADORS.Open strSQL, objADOCON, adOpenKeyset, adLockOptimistic 質問1. where 日付 = '" & getDate & "'" でやると下記のメッセージが表示されます。 抽出条件でデータ型が一致しません where 日付 = " & getDate でやると、エラーメッセージは起こりません。 何故このようなメッセージが表示されるのでしょうか? 質問2. Table1には2012/08/10というデータが日付フィールドに存在します。 where 日付 = " & getDate ではエラーメッセージが出ないので、 次のレコードセット取得時、レコード取得件数が0件です。 条件文が上手くいっていないような気がします。なぜでしょうか? ちなみに、 strSQL = "select * from Table1 では問題なくレコードセットを取得できています。 宜しくお願いします。
- ベストアンサー
- その他(データベース)
- Accessのエラー (いくつかあります・・・)
アクセスでデータを入力したのですが、なぜか下記のエラーがでます… *作成したアクセスデータ* テーブル 項目AのCDと項目A、項目BのCDと項目B、項目CのCDと項目C、項目A~CのCDとその他繰り返し入力しないデータ の合計4つのテーブル それらすべてをリレーションでつないでます クエリ 全項目入りのテーブルを元に作ったもののみ フォーム クエリを元にウィザードを使って作成 *エラー* (1)クエリを作った時に、1つでもCDが入力されてないフィールドがあるとその行全体が表示されなくなる (CDを入力したら表示されますし、テーブルではCDが入ってなくても全て表示されてます) (2)フォームで新たにデータを入力しようとしても一切入力できないし、変更もできない時がある (使用可能等の項目は一切触っていません) (3)フォームでCDが入ってる箇所を未入力にしたままでは保存できずに、「CDと値が一致しません」?のようなエラーメッセージがでる (すみません、エラーメッセージはうろ覚えです…) (4)なぜか昇順で番号を並べ替えていたのに、フォームでデータを追加したら、昇順が反映されずに「1,11,2…」のようにフォームのみ表示される (テーブル・クエリは反映されています) このエラーの原因がわかる方ぜひ教えてください!! よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Accessで一致したデータを表示させたい
Accessについて教えてください。 Accessで以下のようなテーブルを作っております。 (T1)テーブル1(社員データ) 社員NO オートナンバー 所属 テキスト型 氏名 テキスト型 (T2)テーブル2(面談データ) NO オートナンバー 日付 日付/時刻型 面談者氏名 テキスト型 面談者企業名 テキスト型 社員NO1 数値型 社員NO2 数値型 社員NO3 数値型 社員NO4 数値型 社員NO1,2,3,4はテーブル1の社員NOとリレーションでつながっています。 (T1)社員NO、(T2)NO以外のデータを最終的にレポートで表示します。 ここで、クエリ、フォーム、レポートをいづれでも作成するときですが、 日付(T2) 面談者氏名(T2) 面談者企業名(T2) 社員NO(T1)(非表示) 社員NO1の所属(T1) 社員NO1の氏名(T1) 社員NO(T1)(非表示) 社員NO2の所属(T1) 社員NO2の氏名(T1)・・・(社員NO3、4と続けて) という風に作りたいです。 クエリ、フォーム、レポートで作成すると、社員NO1(T2)の所属(T1)氏名(T1)、しか表示されません。(これでは当たり前かもしれませんが・・・) 社員NO2、3、4の所属、氏名も表示させたいです。 フォームやクエリ、レポートで社員NO2、3、4(T2)のデータと一致する社員NO(T1)の所属、氏名を表示させる方法はどのようにしたらよろしいでしょうか。 どうかよろしくお願い致します。
- ベストアンサー
- その他(データベース)
お礼
回答ありがとうございます。 「'」を外したらできました。 ありがとうございました。