変数は文字列の外(""の外)に出して&で結合すればいいでしょう。
あと、SQL内では日付時刻型は#で囲む、文字列は'で囲みます。
Dim c1 As Long, c2 As Currency, c3 As Date, c4 As String
c1 = [Forms]![S_1]![c1]
c2 = [Forms]![S_1]![c2]
c3 = [Forms]![S_1]![c3]
c4 = [Forms]![S_1]![c4]
strSQL1 = "UPDATE [T_1] " & _
"SET [F1]=" & c1 & ", " & _
"[F2]=" & c2 & ", " & _
"[F3]=#" & Format(c3,"yyyy/mm/dd") & "#, " & _
"[F4]='" & c4 & "' " & _
"WHERE [ID]=" & [Forms]![S_1]![txID] & " ;"
日付をFormatで書式設定しているのは、OSの日付書式設定によってはうまく行かない場合があるのでその対策です。
テキストボックスが未入力だったりした場合のエラー対策は別途必要になります。
通報 ...