I think you need to do following query to get ReportData correctly.
SELECT tblReportData.TestName, tblReportData.TestPrice, tblReportData.ReferenceDr, tblReportData.Remarks, tblReportData.EnterBy, tblReceiptDetails.TestDone, tblReceiptDetails.PatientName, tblReceiptDetails.Remark
FROM tblReceiptDetails INNER JOIN
tblReportData ON tblReceiptDetails.PatientID = tblReportData.PatientID
and for everything else just required PatientID and reverse it as given below.
SELECT tblReportData.TestName, tblReportData.TestPrice, tblReportData.ReferenceDr, tblReportData.Remarks, tblReportData.EnterBy, tblReceiptDetails.PatientName, tblReportData.Date, tblReceiptDetails.PaymentStatus,
tblReceiptDetails.PaymentType, tblReceiptDetails.ReceivedAmt, tblReceiptDetails.TotalDue, tblReceiptDetails.TestDone
FROM tblReceiptDetails INNER JOIN
tblReportData ON tblReceiptDetails.PatientID = tblReportData.PatientID
I think best bet is use SQL Query designer and check with your test data and see what exactly you want to achieve.