Your question is very vague and going to be hard to answer, but I'll try to give you some advice based on what you posted. First off, getting data from one window to another is done a few different ways. the most common is via the Message object. If you are opening Window_2 from Window_1 using code inside Window_1, you can do something like OpenWithParm(window_2, your_parameter). Your_parameter can be a string, number, blob, or even an object that contains data. Another way to do this is to get a reference to window_2, and then call an event or function on window_2, passing whatever you need for window_2.
As for your report issue, it sounds like you just need to join the 3 tables using SQL to produce the report, but you weren't very specific, so it's hard to say.
Let me know if you want more info on those techniques. You could always use Global Variables too, but that's generally frowned upon unless absolutely necessary or used throughout the whole app.
Kevin