(From d1 In dt_leavesheet.AsEnumerable()
From d3 In dt_timesheet.AsEnumerable()
Where d1(“Employee”).ToString().Trim().Equals(d3(“Employee”).ToString().Trim()) AndAlso
d1(“Start Date”).ToString().Trim().Equals(d3(“Start Date”).ToString().Trim()) AndAlso
d1(“End Date”).ToString().Trim().Equals(d3(“End Date”).ToString().Trim())
Select d1).Copytodatatable()
Using Above query for comparing the datatables and filter result well be written in an excel file by using ‘Write Range’ activity.
1) Enabling the ‘Use Header Row’ option prevents errors.
2) Disabling the ‘Use Header Row’ option results in errors. Please Help
Try below syntax
(From d1 In dt_leavesheet.Select() where(From d3 In dt_timesheet.Select() Where d1("Employee").ToString().Trim().Equals(d3("Employee").ToString().Trim()) And d1("Start Date").ToString().Trim().Equals(d3("Start Date").ToString().Trim()) And d1("End Date").ToString().Trim().Equals(d3("End Date").ToString().Trim()) Select d1).CopyToDataTable()
Regards,
Arivu
Executing Above query Results other error:-Error Message : C:\Users\XTZ\AppData\Local\Temp\4bcuuqp2.0.vb(34,0) : error BC36674: Multiline lambda expression is missing ‘End Function’.C:\Users\XYZ\AppData\Local\Temp\4bcuuqp2.0.vb(35,0) : error BC30205: End of statement expected.C:\Users\XYZ\AppData\Local\Temp\4bcuuqp2.0.vb(36,0) : error BC30205: End of statement expected.C:\Users\XYZ\AppData\Local\Temp\4bcuuqp2.0.vb(38,0) : error BC30035: Syntax error.C:\Users\XYZ\AppData\Local\Temp\4bcuuqp2.0.vb(40,0) : error BC30198: ‘)’ expected.C:\Users\XYZ\AppData\Local\Temp\4bcuuqp2.0.vb(42,0) : error BC30429: ‘End Sub’ must be preceded by a matching ‘Sub’.C:\Users\XYZ\AppData\Local\Temp\4bcuuqp2.0.vb(43,0) : error BC30289: Statement cannot appear within a method body. End of method assumed.
(From d1 In dt_leavesheet.Select() where(From d3 in dt_timesheet.Select() Where d1("Employee").ToString().Trim().Equals(d3("Employee").ToString().Trim()) And d1("Start Date").ToString().Trim().Equals(d3("Start Date").ToString().Trim()) And d1("End Date").ToString().Trim().Equals(d3("End Date").ToString().Trim()) Select d1)).ToArray.CopyToDataTable()
Hi @ankita.rai
Use this given Linq below :
(From d1 In Input_DT.AsEnumerable()
From d3 In Input_DT.AsEnumerable()
Where d1(“Employee”).ToString().Trim() = d3(“Employee”).ToString().Trim() AndAlso
d1(“Start Date”).ToString().Trim() = d3(“Start Date”).ToString().Trim() AndAlso
d1(“End Date”).ToString().Trim() = d3(“End Date”).ToString().Trim()
Select d1).Distinct(DataRowComparer.Default).CopyToDataTable()
Let me if Doesn’t Work
Cheers
.
hey @ankita.rai
Use given Query of mine .
This query is giving the same error.
Note:- I want to write the result without header. Because i’m using ‘Write Range’ activity in a loop so for first iteration it’s printing the result without header but for next it throws an error:Error Message : Unable to cast object of type ‘System.Double’ to type ‘System.String’.
Attaching a resultant picture of write range activity for better understanding.

