Incidentally (again, if you don't understand so yet), my recommendation to go ahead and iterate the cells was sarcastic. You probably didn't even find documentation for that, did you? (I haven't looked, but I know any such controls I've worked with -- in many languages -- either have no such documentation, or the process is so obscure it would be an extremely advanced skill based for instance from careful, meticulous study of code such as the VCL which comes with Delphi/C++ Builder.) My idea was that you are vacillating. You first wanted SQL. Then you did not. Everyone has to study their options carefully. It is by studying them that you should have opted not to want to derive your data any longer by iterating your control. That idea is plain silly. The data already exists in a form by which it can readily be iterated or processed by SQL. *That* is why documentation for iterating the control [probably] does not exist [in any plain, accessible form]. When it comes down to it, this just a plain/usual problem where a first issue is to identify what to process. You want to process the data. It exists (even in the informal table/AS/400 file) in a form which is more conducive to processing. Read the AS/400 file to populate a formal SQL table with the same tools you have to use for the other table, and everything is compatible, and easily processed. Simple.