>StartDate = thisform.fromdate.value >EndDate = thisform.todate.value > >TEXT TO cVar NOSHOW TEXTMERGE > SELECT CAST(RTRIM(charfield) AS char(10)) AS charfld, > <<m.StartDate>> AS StartDate, <<m.EndDate>> as EndDate > FROM myTable > LEFT JOIN ... > WHERE ... > AND fld_EntryDate >= <<m.StartDate>> > AND fld_EntryDate <= <<m.EndDate>> > ORDER BY ... >ENDTEXT > >SQLEXEC(nHndl, cVar, "curname") >In addition to Sergey. Pass Date variables as Parameters and you will forget about coversions. Also if you didn't want to pass them as parameters you can p[ass them as strings with DTOS() format.
StartDate = thisform.fromdate.value EndDate = thisform.todate.value TEXT TO cVar NOSHOW TEXTMERGE SELECT CAST(RTRIM(charfield) AS char(10)) AS charfld, ?m.StartDate AS StartDate, ?m.EndDate as EndDate FROM myTable LEFT JOIN ... WHERE ... AND fld_EntryDate >= ?m.StartDate AND fld_EntryDate <= ?m.EndDate ORDER BY ... ENDTEXT SQLEXEC(nHndl, cVar, "curname")2. Pass dates as DTOS() string. SQL Server automaticly convert them to appripriate type
StartDate = DTOS(thisform.fromdate.value) EndDate = DTOS(thisform.todate.value) TEXT TO cVar NOSHOW TEXTMERGE SELECT CAST(RTRIM(charfield) AS char(10)) AS charfld, CAST('<<m.StartDate>>' AS DateTime) AS StartDate, CAST('<<m.EndDate>>' AS DateTime) as EndDate FROM myTable LEFT JOIN ... WHERE ... AND fld_EntryDate >= '<<m.StartDate>>' AND fld_EntryDate <= '<<m.EndDate>>' ORDER BY ... ENDTEXT SQLEXEC(nHndl, cVar, "curname")But in both cases you should check what SQLEXEC() returns and handle errors with AERROR().