I am not really sure what your question is. Is this what you are looking for:
John10.002013-01-15 00:00:001
John10.002013-01-15 00:00:001
John5.00 2013-02-03 00:00:001
John5.00 2013-02-03 00:00:001
John10.002013-02-10 00:00:001
John10.002013-02-10 00:00:001
John100.002013-03-01 00:00:001
John100.002013-03-01 00:00:001
John45.002013-03-10 00:00:001
John45.002013-03-10 00:00:001
John25.002013-03-17 00:00:001
John25.002013-03-17 00:00:001
John15.002013-01-18 00:00:002
John15.002013-01-22 00:00:002
John25.002013-02-05 00:00:002
John10.002013-02-26 00:00:002
John30.002013-03-03 00:00:002
John5.00 2013-03-08 00:00:002
John10.002013-03-25 00:00:002
John30.002013-03-28 00:00:002
If this is what you are looking for the following will give it to you.
SELECT H.DriverName, R.RepairCost, R.RepairDate , r.VehicleID
FROM Repairs AS R
INNER JOIN Vehicles AS V ON R.VehicleID=V.VehicleID
INNER JOIN History H ON H.VehicleID=V.VehicleID
WHERE H.DriverName='John' AND R.RepairDate BETWEEN '01.01.2013' AND '04.01.2013'
ORDER BY R.VehicleID, R.RepairDate