The query gets a little easier to read if you use an alias for the table names, as below.

Set rs1 = db.OpenRecordset("select a.surname, b.booking_no, b.date_in from tblCustomer a, tblBooking b, tblBooking_details c where a.cust_no = b.cust_no and b.booking_no = c.booking_no and c.kennel_no = ' " & stat & " ' order by surname ")

is kennel-no a numeric or character based field?