 <p>I'd like to help, but I'm not quite sure I understand your question. Given the information you have here, that code should work. The only unknown is the actual datatype of the value of the combo, but unless the <code>.Field(Of T)</code> is throwing an InvalidCastException, you should be good there. I wrote the following code and threw it into a unit test project, and everything came out good . . . at least with regard to the length of the resulting set of data.</p> <h2>Code</h2> <pre><code>&lt;TestCase(0, ExpectedResult:=4)&gt; &lt;TestCase(1, ExpectedResult:=4)&gt; &lt;TestCase(2, ExpectedResult:=3)&gt; &lt;TestCase(3, ExpectedResult:=2)&gt; &lt;TestCase(4, ExpectedResult:=1)&gt; &lt;TestCase(5, ExpectedResult:=0)&gt; Public Function tmptest(ByVal selected As Integer) As Integer Dim d As New DataTable d.Columns.Add(New DataColumn("id", GetType(Integer))) For j = 0 To 5 Dim r = d.NewRow() r("id") = j d.Rows.Add(r) Next If selected = 0 Then selected = 1 Dim query = From status In d.AsEnumerable() Where status.Field(Of Integer)("id") &gt; selected Select status Return query.Count End Function </code></pre> <h2>Results</h2> <p><a href="https://i.stack.imgur.com/alHkE.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/alHkE.jpg" alt="Test Results"></a></p>