PR

Accessでよく出る「データ型の不一致」エラー解決法

Access
スポンサーリンク

こんにちは、Accessブロガーのなかぜんです。

AccessやVBAを使っていると、初心者の方からよくこんな声を聞きます。

「クエリを実行したら『データ型の不一致です』ってエラーが出たんですけど…どうしたらいいですか?」

はい、これ…Accessあるあるですね。安心してください!このエラー、ちゃんと原因と対処法を知れば、誰でも乗り越えられます。

この記事では「データ型の不一致」エラーの意味と、具体的な対処方法を、やさしく、ていねいに解説していきます。


スポンサーリンク

1. 「データ型の不一致」ってどういうこと?

このエラーは、Accessが「異なる種類のデータを比べたり、計算しようとしてるけど、無理だよ!」と教えてくれているサインです。

たとえば、数値型のフィールドに文字列(テキスト)を代入しようとしたり、日付型と文字列型を比較しようとしたときなどに発生します。

よくある例

  • テーブルの「ID」が数値型なのに、クエリで「’123’」のように文字列で検索
  • フォームで日付型のフィールドに、ユーザーが「abc」など無効な文字を入力
  • VBAで数値と文字列を計算しようとする

2. 実際のコード例と解説

間違ったコード例

Dim sql As String
sql = "SELECT * FROM T_社員 WHERE 社員ID = '123'"
CurrentDb.OpenRecordset sql

解説:「社員ID」が数値型なのに、'123'と文字列で検索しているため、エラーになります。

正しいコード例

Dim sql As String
sql = "SELECT * FROM T_社員 WHERE 社員ID = 123"
CurrentDb.OpenRecordset sql

ポイント:数値はシングルクォート(’)で囲まない!


3. データ型の確認方法

エラーの原因を突き止めるには、まずフィールドのデータ型を確認しましょう。

テーブルで確認する

  • テーブルをデザインビューで開く
  • 対象フィールドの「データ型」列を見る

フォーム・VBAで確認する

Debug.Print VarType(Me.txt入力値)

VarType関数を使えば、VBAで変数やコントロールの型を調べられます。


bookfan 1号店 楽天市場店
¥2,992 (2025/05/04 17:53時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場
\商品券4%還元!/
Yahooショッピング

4. よくあるミスとその対処法

ミス1:日付型の値にクォーテーションを忘れる

sql = "SELECT * FROM T_予定 WHERE 開始日 = " & Me.txt日付

↑これはNG。日付は # で囲む必要があります。

sql = "SELECT * FROM T_予定 WHERE 開始日 = #" & Format(Me.txt日付, "yyyy/mm/dd") & "#"

ミス2:Nullとの比較に = を使う

If Me.txt備考 = Null Then

↑これは常にFalseになります。Nullは Is Null または Is Nothing を使って判断しましょう。

If IsNull(Me.txt備考) Then

5. 中級者向けの応用ポイント

① 型変換関数を活用しよう

  • CLng:整数に変換
  • CDate:日付に変換
  • CStr:文字列に変換

ユーザーの入力を数値や日付に変換しておくことで、エラーを予防できます。

② エラーハンドリングを入れて安全に

On Error Resume Next
Dim dt As Date
dt = CDate(Me.txt日付)
If Err.Number > 0 Then
    MsgBox "正しい日付を入力してください"
    Exit Sub
End If
On Error GoTo 0

ポイント:ユーザーが入力ミスしても、優しくフォローできます。


6. まとめ:今日の学び&次のステップ

Accessでよくある「データ型の不一致」エラー。原因さえわかれば、ちゃんと解決できます。

  • まずはデータ型を確認!
  • 数値・日付・文字列の区別に注意
  • VBAでは型変換&エラーハンドリングで安全に

最初は難しく感じるかもしれませんが、慣れてくると「ここでエラー出そうだな」って予測できるようになりますよ😊

Accessともっと仲良くなるために、次は「リレーションシップと参照整合性」について学ぶのもオススメです!

楽天Kobo電子書籍ストア
¥2,838 (2025/05/04 17:35時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場
\商品券4%還元!/
Yahooショッピング