2016-04-04 29 views
0

レコードセットを使用してテーブルレコードの重複をチェックしています。私は正確に同じ設定で約5フォームでこのコードを持っているが、そのうちの一つでコーデに動作しません - 私はエラー3464受けています:「基準expresionにデータ型の不一致を」:VBAにアクセス - レコードセットのチェック時のエラー

間違っている何
Dim rs As Recordset 

Set rs = CurrentDb.OpenRecordset("MyTable", dbOpenSnapshot) 
rs.FindFirst "[Field_With_Numbers] = " & Me![Field_With_Numbers] 

??他のフォームとの唯一の違いは、この両方のフィールドがテキストであり、数値を格納することです。他の選択肢は、助言してください!

+0

これはしばらくの間、正確な構文がわかりませんが、数値を文字列に変換する必要があります。私はそれが 'rs.FindFirst" [Field_With_Numbers] = "&CStr(Me![Field_With_Numbers])の行に沿ったものかもしれないと思っています。 – user2366842

+0

私は@ user2366842に同意します。あなたがテーブルにあるものが数字で、フォームにエラーがあるフィールドがある場合は、テーブルを受け入れることができる適切なフォーマットに変換する必要があります。 – SunRay

+0

お返事ありがとうございます。奇妙なコードが最初の実行で実行されましたが、今度は再びエラーが発生します。私はテーブルデータを作成すべきか - "[Field_With_Numbers] ="? – LuckyLuke82

答えて

0

フィールドがテキストフィールドの場合、実際に何が格納されていても、それをそのまま扱う必要があります。

rs.FindFirst "[Field_With_Numbers] = '" & Me![Field_With_Numbers] & "'" 
+0

Heyyy、Andre、それに感謝、それは動作します!もちろん、私はそれを理解するだろう、私はたぶん、問題を過ぎ去らせる必要があるだろう:)...もう一度ありがとう!! – LuckyLuke82

関連する問題