アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のようなコードを書いて実行しているのですが、
下から5行目のところで
「このフィールドに入力した値が正しくありません」というエラーが出てしまいます。
いろいろと調べたのですが、原因が全く分かりません。
どこを直せばいいのか、
又は、どんなところを調べるべきか、知識のある方、教えていただけないでしょうか。

Private Sub cboF_新規契約登録_ヘッダ管理番号選択_Change()
Dim cn As ADODB.Connection
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Dim MySQL As String
'接続
Set cn = CurrentProject.Connection
'定期取引ヘッダ レコードセット取得
Set rs1 = New ADODB.Recordset
'
'画面上にデータをフィル
'SQL作成
MySQL = "select * from Q_F_新規契約登録_定期取引ヘッダ内容抽出"
MySQL = MySQL & " where 会社コード = '" & [Forms]![F_TOP]![会社選択] & "'"
MySQL = MySQL & " and ヘッダ管理番号 = " & Me!txtF_新規契約登録_ヘッダ管理番号
MySQL = MySQL & " and LOCAL_補助科目マスタ.科目コード = '3311'"
'Open
rs1.Open MySQL, cn, adOpenStatic, adLockReadOnly
rs1.Find "ヘッダ管理番号 = " & Val(txtF_新規契約登録_ヘッダ管理番号)
'フィル
Me!txtF_新規契約登録_引落額 = rs1!引落額'<=ここでエラー
rs1.Close: Set rs1 = Nothing
'コネクションクローズ
cn.Close: Set cn = Nothing
End Sub

A 回答 (3件)

エラーが発生した時「rs1!引落額」の値がNullになっていませんか?


エラーで一時停止したときに、イミディトウィンドウで「? rs1!引落額」したときの値を確認してください。

= IIf(IsNull(rs1!引落額),"",rs1!引落額)
s
とすれば、エラーはでないかもしれません。
    • good
    • 0

エラーに直接関係ないと思いますが、



rs1.Find "ヘッダ管理番号 = " & Val(txtF_新規契約登録_ヘッダ管理番号)

はSQLに含まれているので、不要だと思います。
    • good
    • 0

end of file をチェックしましょう



if not rs1.eof
Me!txtF_新規契約登録_引落額 = rs1!引落額
else
msgbox "検索データがありません"
end if
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています