現在、下記追加クエリとVBAを利用して
管理IDが既に存在する場合は
そのフォームを開く。存在しない場合は追加クエリを実施してからそのフォームを開く、ということにしていますが
毎回新しく追加する際、型変換エラーが出ます。(件数がデータを追加するごとに増えていく)
型変換エラーを無視して実行すれば、きちんとフォームは表示されますが…
型変換エラーを出したくないです。どうしたらよいでしょうか。
VBA
Private Sub btn見積_Click()
Me.Requery
If DCount("*", "[T_送付リスト]", "[管理ID]=[Forms]![F_管理]![txt管理ID]") = 0 Then
DoCmd.OpenQuery "Q_メール作成"
DoCmd.OpenForm "F_メールテンプレ", acNormal, "", "[管理ID]=[Forms]![F_管理]![txt管理ID]", , acDialog
Else
DoCmd.OpenForm "F_メールテンプレ", acNormal, "", "[管理ID]=[Forms]![F_管理]![txt管理ID]", , acDialog
End If
End Sub
Q_メール作成 追加クエリの内容
INSERT INTO T_送付リスト( 管理ID )
SELECT [forms]![F_管理]![txt管理ID] AS 管理ID
FROM T_送付リスト;
DoCmd.OpenQuery "Q_メール作成"
でクエリを実行したときに型変換エラーがでるのですか。管理IDフィールド
のデータ型はなんですか。>DoCmd.OpenQuery "Q_メール作成"でクエリを実行したときに型変換エラーがでるのですか。
そのとおりです。
>管理IDフィールドのデータ型はなんですか。
T_送付リストの管理IDは数値型です。テーブルでは型が確認できますが、フォームは型って確認できないですよね??
その認識が間違っていればご教示ください。 ([F_管理]![txt管理ID]の書式は00000でしたが)