I had this query, which gives me the desired results on postgres
SELECT
  t.*,
  ROW_NUMBER() OVER (PARTITION BY t."Internal_reference", t."Movement_date" ORDER BY t."Movement_date") AS "cnt"
FROM (SELECT
  "Internal_reference",
  MAX("Movement_date") AS maxtime
FROM dw."LO-D4_Movements"
GROUP BY "Internal_reference") r
INNER JOIN dw."LO-D4_Movements" t
  ON t."Movement_date" = r.maxtime
  AND t."Internal_reference" = r."Internal_reference"
Issue is I have to translate the query above on Access where the analytical function does not exist ...
I used this answer to build the query below
SELECT 
      t."Internal_reference",
      t.from_code,
      t.to_code,
      t."Movement_date",
      t.shipment_number,
      t."PO_number",
      t."Quantity",
      t."Movement_value",
      t."Site",
      t."Import_date",
  COUNT(*) AS "cnt"
 FROM (
      SELECT "Internal_reference",
      MAX("Movement_date") AS maxtime
      FROM dw."LO-D4_Movements"
      GROUP BY "Internal_reference") r
LEFT OUTER JOIN dw."LO-D4_Movements" t
        ON t."Movement_date" = r.maxtime AND t."Internal_reference" = r."Internal_reference"
GROUP BY
      t.from_code,
      t.to_code,
      t."Movement_date",
      t.shipment_number,
      t."PO_number",
      t."Quantity",
      t."Movement_value",
      t."Site",
      t."Import_date",
      t."Internal_reference" 
ORDER BY t.from_code    
Issue is I only have 1 in the cnt column.
I tried to tweak it by removing the internal_reference (see below)
SELECT 
      t.from_code,
      t.to_code,
      t."Movement_date",
      t.shipment_number,
      t."PO_number",
      t."Quantity",
      t."Movement_value",
      t."Site",
      t."Import_date",
  COUNT(*) AS "cnt"
 FROM (
      SELECT "Internal_reference",
      MAX("Movement_date") AS maxtime
      FROM dw."LO-D4_Movements"
      GROUP BY "Internal_reference") r
LEFT OUTER JOIN dw."LO-D4_Movements" t
        ON t."Movement_date" = r.maxtime AND t."Internal_reference" = r."Internal_reference"
GROUP BY
      t.from_code,
      t.to_code,
      t."Movement_date",
      t.shipment_number,
      t."PO_number",
      t."Quantity",
      t."Movement_value",
      t."Site",
      t."Import_date" 
ORDER BY t.from_code    
However, the results are even worse. The cnt is growing but it gives me the wrong cnt
Any help are more than welcome as I'm slow losing my sanity.
Thanks
Edit: Please find the sqlfiddle
 
     
     
    