From the sound of it, you don’t actually want to do a merge, but instead you want to update the datatable with the new value, and if the date doesn’t exist, then add the row.
I don’t think you can update your datatable using query methods (I could be wrong), but you can do this with a For each row. Additional option would be to query your datatable to only the row being updated to make it go faster.
My preference is usually to query so it keeps the workflow less cluttered. This would look like this:
For each rNew In newTable
Assign activity: matchedRows = oldTable.AsEnumerable.Where(Function(rOld) If(IsDate(rOld) And IsDate(rNew), Convert.ToDate(rOld("Date")) = Convert.ToDate(rNew("Date")), False) ).ToArray
If matchedRows.Count > 0 //check if a match was found
Assign activity: matchedRows.First("Value") = rNew("Value").ToString.Trim
Add Data Row activity: rNew into oldTable
I hope this answers your question. - matchedRows is an array of Datarows, fyi
EDIT: made a few corrections