DGET is probably not the function to use in this situation.

DGET works with data that is in Excel's prefered lay-out.
Each row with a unique header and no blank data rows.

Your lay-out with different rows refering to different products is not well suited to DGET.

On Sheet1, does the data relating to each Code/Product Name take up the same number of rows? Does each Code/Product have the same lay-out

Code/Product/Sizes
blank row
5 rows for jobs.

I note that each code might have differing numbers of sizes.
Does each Code have 5 jobs or maybe more or less?
Are the Code blocks arranged in order?
Is there always a blank row below the Code/Product Name?

My approach would be to construct a formula that (given a Code) returned the range of data associated with that code.
Use that as a named range together with an INDEX/MATCH to get the specific data for size and job.