
クエリ1とクエリ2をクエリ3で結合するとクエリ3で「データ型が一致しません」と表示されます。
クエリ1のSQL文
SELECT Trim(Replace([PC管理台帳.使用者氏名]," ","")) AS 式1, PC管理台帳.新PC名, PC管理台帳.部署名, PC管理台帳.マシンベンダ名, PC管理台帳.マシンモデル
FROM PC管理台帳;
クエリ1では[使用者氏名]の苗字と名前のスペースを置換しました。
クエリ2のSQL文
SELECT 職員アカウント.職員番号, Trim(Replace([職員アカウント.氏名]," ","")) AS 式1, 職員アカウント.パスワード, 職員アカウント.メールアドレス
FROM 職員アカウント;
クエリ2では[氏名]の苗字と名前のスペースを置換しました。
クエリ3で[使用者氏名]と[氏名]が一致しているものを抽出したいです。
ちなみにクエリ3のSQL文は
SELECT [クエリ2].[式1], [クエリ2].[職員番号]
FROM クエリ1 INNER JOIN クエリ2 ON [クエリ1].[式1]=[クエリ2].[式1];
これでクエリ3をひらくと
「データ型が一致しません」
と表示されます。
どなたかアドバイスお願いします
No.1ベストアンサー
- 回答日時:
「データ型が一致しません」のエラーが発生するパターンのひとつに、『結合に使用している演算
フィールド(ご質問の件では式1が該当)の結果がエラーとなるレコードが含まれている』というのが
あります。
クエリ1・クエリ2の式1にはReplace関数が使われていますが、Replace関数の第1引数にNullを
指定すると、エラーになります。
従って、恐らく「PC管理台帳」テーブルの「使用者名」か、「職員アカウント」テーブルの「氏名」の
どちらか(或いは双方)が、空欄(Null)になったままのレコードがある可能性があります。
(なお、Trim関数は、第1引数がNullであってもエラーになりません)
上記推測が当たっていれば、
a)上記フィールドが空欄になっているレコードをなくす
(その上で、今後のことを考えると値要求を「はい」に設定しておくことをお勧めします)
b)式1の関数を下記のように変更する
のどちらかの対応をされれば、ご質問のエラーは解消されるものと思います。
式1の変更で対応する場合は、それぞれ以下のようにしてみてください:
(「[PC管理台帳.使用者名]」と「[職員アカウント.氏名]」は、それぞれ「[PC管理台帳].[使用者名]」と
「[職員アカウント].[氏名]」の誤記と判断して記述しています)
クエリ1:
Select Replace(Nz([PC管理台帳].[使用者氏名], ""), " ", "", 1, -1, 1) As 式1, PC管理台帳.新PC名, PC管理台帳.部署名, PC管理台帳.マシンベンダ名, PC管理台帳.マシンモデル From PC管理台帳;
クエリ2:
Select 職員アカウント.職員番号, Replace(Nz([職員アカウント].[氏名], ""), " ", "", 1, -1, 1) As 式1, 職員アカウント.パスワード, 職員アカウント.メールアドレス, From 職員アカウント;
Nz関数は、第1引数がNull(=文字列扱い不可の空白)だった場合に、第2引数の値に置換する関数
です。第2引数に「""」(空文字=文字列扱い可の空白)を指定することで、Replace関数がエラーに
なるのを回避しています。
Replace関数の一番最後の引数「1」は、半角/全角を区別させないためのものです。これにより、
スペースは全て削除されるため、Trim関数は不要になります。
(その前の「1, -1」は、それぞれ開始位置と置換する文字数の指定です。この辺りは、詳しくは
ヘルプを確認して下さい)
丁寧な説明ありがとうございました。
よろしければ下記の質問もお願いします。
http://oshiete1.goo.ne.jp/qa3987087.html?ans_cou …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
確定申告しなかった・無申告の人をどうやって見つけるのか元国税調査官に聞いてみた
無申告の方などを対象に税務調査を行う国税局の元税務調査官さんに、どう無申告を探すのか聞いてきました。
-
抽出条件でデータ型が一致しません。のエラーメッセージが出る
Microsoft ASP
-
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
4
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
5
ACCESS抽出条件でデータ型が一致しません
その他(暮らし・生活・行事)
-
6
実行時エラー '3464': 抽出条件でデータ型が
Access(アクセス)
-
7
Accessのクエリで、抽出条件で…のエラーが
その他(Microsoft Office)
-
8
「#エラー」の回避
Access(アクセス)
-
9
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
10
アクセス エラーを数値「0」に変換するには
Access(アクセス)
-
11
OR関数
その他(Microsoft Office)
-
12
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
13
ACCESS 複数テーブル・複数フィールドを参照する不一致クエリ
Access(アクセス)
-
14
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
15
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
16
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
17
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
18
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
19
Access サブフォームでの選択行の取得
その他(データベース)
-
20
ACCESSでクエリを作成したら「式が複雑すぎます。」の表記が…
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ACCESSにてフィールド間の最小...
-
5
クエリで「データ型が一致しま...
-
6
SqlServer2012 ビューとクエリ
-
7
ACCESSでクエリを作成したら「...
-
8
access・カウント結果がゼロで...
-
9
ACCESS クエリで、グループ化...
-
10
ACCESS クエリー 抽出条件が...
-
11
アクセスでフォームが更新でき...
-
12
ACCESSで2つのテーブル比較で...
-
13
Accessのクエリ実行について
-
14
AccessでのDISTINCTROW 、DISTI...
-
15
Accessのフィルタ検索でデータ...
-
16
ACCESSで2つのテーブルの合計値...
-
17
選択クエリで偶数月しか表示し...
-
18
テーブルに主キーを作らないデ...
-
19
Accessのフォーム上にレコード...
-
20
アクセスにエクセルのデータを...
おすすめ情報
公式facebook
公式twitter