에서 rundate 근처 가장 최근의 데이터 나 SQL 쿼리를 통해 액세스 DB에서 레코드를 검색하는 작업입니다. origina 쿼리는 최신 날짜 데이터를 검색합니다. 하지만 2012 년 3 월 3 일 예를 들어 도구를 실행하려면 최신 데이터를 계속 가져오고 싶습니다. 하지만 날짜가 3/3/2012 또는 2012 년 3 월 3 일에 가까운 날짜이지만 날짜를 초과하지 않는 데이터가 필요합니다. 예를 들어 2012 년 3 월 3 일을 사용할 수없고 2012 년 3 월 2 일을 db로 사용할 수있는 경우 해당 날짜를 선택해야합니다. 수정 된 쿼리는 아래와 같습니다. 그것은 예약어 맞춤법 오류나 문법 오류 등을 제외하고 제공합니다. 쿼리를 도와 주시겠습니까? 쿼리에서 trundate는 내 프로그램에서 입력됩니다. 내 질문은 지금 :액세스 액세스
에 CString SEL은 = "나는 (ProductType, MAX DateUpdated1 AS (DateUpdated)를 선택 MortgageRateSpreads로부터 I.DateUpdated I.ProductType, I.Spread을 선택"; SEL을 + = "여기서 DateUpdated < = ";
SEL + = tRunDate.Format ("{TS '% Y- % M- % D'} ');
의 CRecordset 세트 (& pdatabase)
try
{
double val;
CDBVariant var;
if (set.Open(CRecordset::forwardOnly, sel/*, CRecordset::readOnly*/))
{
m_Log->Log("recordset is open");
while (!set.IsEOF())
MY Sel을은 :
당신은
{
는 당신이 우리를 보여줄 수 무엇인가해야한다고 생각 쿼리가 실행되기 바로 전에 포함 된 셀. 최종 SQL 문을 볼 때 피드백을 제공하는 것이 더 쉽습니다. TOP 다음의 값이 msaccess SQL의 괄호 안에 들어 있다고 생각하지 않습니다. 내가 믿어야하는 TOP 1이어야합니다. –