Zgadzam się z komentarzem SirRufo tutaj. Prawidłowa odpowiedź na pytanie „jak to zrobić?” to „nie rób tego; to zły sposób”.
Jeśli umieścisz wartości bezpośrednio w zapytaniu, hakerzy mogą znaleźć sposób na umieszczanie w zapytaniu elementów, które zostaną zinterpretowane jako Polecenia SQL. Jest to znane jako wstrzyknięcie SQL i jest odpowiedzialny za zniszczenia warte miliardy dolarów w ciągu ostatnich kilkudziesięciu lat. (Nie przesadzam.)
Właściwym sposobem na to jest czyste oddzielenie kodu SQL od danych za pomocą parametrów tak:
ADOQuery1.SQL.Clear;
//: before an identifier specifies a parameter
ADOQuery1.SQL.Add('SELECT tbl.emailAddress, tbljob.Time FROM '+
'dbwindowwash.tblclient, dbwindowwash.tbljob, dbwindowash.tbljobclientworker '+
'WHERE tbljobclientworker.jobID = tbljob.jobID AND '+
'tbljobclientworker.clientID = tblclient.clientID AND tbljob.Date = :date';
//parse the query and find parameter declarations
ADOQuery1.Prepare;
//set a value for the parameter
ADOQuery1.ParamByName['date'].AsDateTime := TodaysDate;
ADOQuery1.Open
Dokładna składnia sposobu ustawiania wartości parametru może różnić się w zależności od typu zbioru danych, ale to powinno dać ci podstawowe pojęcie.