Enig med SirRufos kommentar her. Det rigtige svar på "hvordan gør jeg det?" er "det skal du ikke gøre; det er den forkerte måde at gøre det på."
Hvis du på den måde sætter værdier direkte ind i forespørgslen, kan hackere finde en måde at placere ting i din forespørgsel, der bliver fortolket som SQL-kommandoer. Dette er kendt som SQL-injektion , og den har været ansvarlig for skader for milliarder af dollars i de sidste par årtier. (Ikke overdrive.)
Den rigtige måde at gøre det på er ved rent at adskille din SQL-kode fra dine data ved at bruge parametre, sådan:
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
Den nøjagtige syntaks for, hvordan man indstiller værdien af en parameter kan variere fra en datasættype til en anden, men det burde give dig den grundlæggende idé.