Dim lnCounter As Integer Dim lcString As String Dim lcKey As String Dim lcModule As String lcString = tcKey lcKey = UCase(tcKey).PadRight(25, " ") lcModule = UCase(tcModule).PadRight(20, " ") For lnCounter = 0 To oData.Count - 1 Step lnCounter + 1 If oData(lnCounter).Row("Key") = lcKey And oData(lnCounter).Row("Module") = lcModule Then If tnLanguage = 1 Then lcString = oData(lnCounter).Row("French") Else lcString = oData(lnCounter).Row("English") End If Exit For End If Next Return lcStringDespite that this approach is much faster than all those requests I was making to the data adapter before, as I only do one now to return all the rows into a view, I still would like to optimize it more such as you said.