Microsoft Access 掲示板

型変換エラーに悩まされています

2 コメント
views
4 フォロー

現在、下記追加クエリと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_送付リスト;

どんぐりず
作成: 2021/02/03 (水) 00:26:14
最終更新: 2021/02/03 (水) 00:31:13
通報 ...
1

DoCmd.OpenQuery "Q_メール作成"でクエリを実行したときに型変換エラーがでるのですか。

管理IDフィールドのデータ型はなんですか。

2
どんぐりず 2021/02/03 (水) 21:56:15 9099b@e2de4 >> 1

>DoCmd.OpenQuery "Q_メール作成"でクエリを実行したときに型変換エラーがでるのですか。
そのとおりです。
>管理IDフィールドのデータ型はなんですか。
T_送付リストの管理IDは数値型です。テーブルでは型が確認できますが、フォームは型って確認できないですよね??
その認識が間違っていればご教示ください。 ([F_管理]![txt管理ID]の書式は00000でしたが)