Ok I'll try to explain as much as possible. I am limited on some information as I am only allowed to customize reports within an existing software package. What I can tell you is the program creates a cursor which is defined in the database. This cursor is joined with quite a few tables (10-12). I, in turn, joined on of the tables associated with the cursor with another table. The tables in question jopest (job in process est) stores the fjobno and the lstoper, I joined this table with jodrtg (job order routing) using a predefined index in jodrtg called fjobnooper (defined as fjobno + str(joperno,4). I am joining to the jopest table using fjobno + str(lstoper,4). Orginally I was looking to pull just qtys but because of the difference between preview and print I added both keys to the report. Wanted to print them out to see what was dropping. When I preview both keys show and qty values display. When I print (more then 18 or so pages) the jodrtg key disappears and both qtys are 0. the jodrtg table is the one added with the new join. Keep in mind if I print less then a certain number of pages (by applying a range of part numbers to select) the information displays on the preview and the printout. I am by no means an experienced foxpro developer but have spent years developing in different types of software and this one has me scratching my head.