csv上にあるカラムのある値が特定値の時に、
別レコードの特定のカラムの値を変更したいと思っています
変更対象のカラム:「time」カラム
変更対象の値:10:00:00
変更後のカラム:翌日の「操作」カラム
変更内容:「変更完了」の文字列に設定
追加条件:翌日にそのユーザの情報がレコードにない場合は、値の設定を実施しない
元ファイル
date2,time,user,u_no,操作
2019/04/06,10:00:00,AAA,1,開始
2019/04/06,10:30:00,BBB,2,開始
2019/04/07,10:00:00,AAA,1,開始
2019/04/07,10:30:00,BBB,2,開始
この時、[time]カラム内の値が、「10:00:00」の場合、
翌日の[操作]カラムを「変更完了」に設定したいと思っております
変更後ファイル
date2,time,user,u_no,操作
2019/04/06,10:00:00,AAA,1,開始
2019/04/06,10:30:00,BBB,2,開始
2019/04/07,10:00:00,AAA,1,変更完了
2019/04/07,10:30:00,BBB,2,開始
ユーザーAAAの4/6の[time]が「10:00:00」なので、AAAの4/7の[操作]が「変更完了」になっている
変更先は「同一ユーザの翌日」なので、そこを指定すればできる気がしたのですが、
その指定の方法がわかりませんでした
(「翌日にそのユーザの情報がレコードにない場合は、値の設定を実施しない」の方法がうまくわかりませんでした)
同一レコードの場合はこれで何とかなったのですが、
翌日の場合、date2を変数に入れて、+1で翌日を出せばいいのでしょうか?
Do Until cv.AtEndOfStream
a = Split(cv.ReadLine, ",")
If a(2) <> "開始" and a(2) <> "操作中" Then
a(1) = "23:59:59"
End If
cr.WriteL
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。