ここから本文です

access 実行時エラー'3464'について教えて下さい。

van_san632000_003さん

2013/11/2512:36:44

access 実行時エラー'3464'について教えて下さい。

表題の件で、会社でaccessで顧客管理をしているのですが、今日物件の新規登録をしようとしたところ、
実行時エラー'3464'抽出条件でデータ型が一致しません
と出ます。

エラーになった心当たりは今まで物件Noを「k12-○○○」と入力していたのですが、
最近「ks-○○○」という入力をしました。

このaccessを作った担当者が退職しており、全く知識が無い私が解決するしか無く、質問させて頂きました。

デバックをクリックすると、なにやら命令文が出て、下記文に色がついています。

If DCount("物管NO", "物管", "Mid(物管NO, 2, 2) =" & nen) > 0 Then

希望としては「ks-○○○」という入力が出来るようにしたいのですが、素人には難しいようなら、「k12-○○○」のみの入力でも大丈夫です。

他に必要な情報があれば追記します。
よろしくお願いします。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
1,816
回答数:
2
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

niikoujpさん

2013/11/2513:27:13

>If DCount("物管NO", "物管", "Mid(物管NO, 2, 2) =" & nen) > 0 Then
ここだけを見れば、
「物管NO」の2~3文字目は「年」として記述する様、前の担当者にルール付けられているようです。
この部分を変更すると、
・他にも、この様な処理をしている部分があるのではないか。
・上記計算式で、物管NO以外のどこから「年」の抽出条件を記述すべきか。
などの問題が発生し、おそらく大変な改造が必要になると思われます。

ところで、今年度の物件なら
「k12-○○○」ではなく
「k13-○○○」ではないでしょうか?

この質問は投票によってベストアンサーに選ばれました!

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

1〜1件/1件中

yc_accessさん

2013/11/2516:51:15

エラーが発生しないようにするだけなら
If DCount("物管NO", "物管", "Val(Mid(物管NO, 2, 2)) =" & nen) > 0 Then
とすればいいのですが、
前の方もおっしゃってるとおりシステム運営上に不都合が出るはずです。

↓この部分
"Mid(物管NO, 2, 2) =" & nen
フィールド「物管NO」の値の左から2文字目と3文字目を抜き出し
その2桁の数字とnenという変数(年でしょうね)に格納された値とを比べており、
出ているエラーメッセージを簡単にいうと
「いつもは数字なのに文字が入っちゃってますよ!」
ということであるわけです。
(ま、入力するときに、2桁目と3桁目が数字かどうかチェックされてないのもいけないんでしょうけど)

ちなみに今回付け加えたVal関数は、対象が文字の時は強制的に0(ゼロ)と見なします。
ここでの処理は「年」を無視できるんなら それはそれでアリとは思いますけど・・・

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。