2017-12-21 12 views
1

결과를 열려고하는 연결된 테이블에 대한 쿼리가 있습니다. DoCmd.SetParameter를 사용하여 OpenQuery의 결과를 필터링했습니다. 나는 전에 이것을 다른 테이블에서 사용했고, 잘 동작했다. 웬일인지, 나는 어떤 결과라도 돌려 줄 수 없다. 다음과 같이DoCmd.SetParameter를 사용하여 문제가 발생했습니다.

내 코드는 다음과 같습니다 원래 내 쿼리에서 날짜 필드에 대해 확인했기 때문에

Dim ReportDate As Date 
Dim strReportDate As String 

ReportDate = DateValue(Me.FromDate.Value) 

strReportDate = Format(ReportDate, "mm-dd-yyyy") 

DoCmd.SetParameter "Enter ShipDate", strReportDate 
DoCmd.OpenQuery "TrackingDataQuery", acViewNormal, acReadOnly 

(형식이, 거기에 문제가 있었다 아마 생각, 그래서 계산 작성 필드를 취하고 그 필드에서 동일한 형식을 사용하는 쿼리의 필드).

나를 정말로 혼란스럽게하는 것은 쿼리를 실행하는 경우, 필자는 기준을 묻습니다. (위의 "mm-dd-yyyy"형식으로) 날짜를 넣으면 올바른 결과 집합이 나옵니다.

SQL 쿼리 (당장)에 대한 (또한 실제 ShipDate 필드를 그냥 DateValue 변환을 사용하여 (위의 조정뿐만 아니라) 시도했습니다. 연결된 SQL 테이블에서 ShipDate는 날짜 시간 유형 :

SELECT dbo_TrackingData.PackageID, dbo_TrackingData.TrackingNo, 
dbo_TrackingData.ShipDate, dbo_TrackingData.weight, dbo_TrackingData.Ref1, 
dbo_TrackingData.Ref2, dbo_TrackingData.Ref5, 
Format(DateValue([ShipDate]),"mm-dd-yyyy") AS strShipDate 
FROM dbo_TrackingData 
WHERE (((Format(DateValue([ShipDate]),"mm-dd-yyyy"))=[Enter ShipDate])); 
+0

SQ를 추가하십시오 귀하의 질문에'TrackingDataQuery '중. – Andre

+0

몇 가지 추가 정보와 함께 추가되었습니다. –

답변

0

이 작동합니다 :

Dim strReportDate As String 

strReportDate = "#" & Format(Me!FromDate.Value, "yyyy\/mm\/dd") & "#" 

DoCmd.SetParameter "Enter ShipDate", strReportDate 
DoCmd.OpenQuery "TrackingDataQuery", acViewNormal, acReadOnly 

을이 SQL로 :

SELECT 
    dbo_TrackingData.PackageID, dbo_TrackingData.TrackingNo, 
    dbo_TrackingData.ShipDate, dbo_TrackingData.weight, dbo_TrackingData.Ref1, 
    dbo_TrackingData.Ref2, dbo_TrackingData.Ref5 
FROM 
    dbo_TrackingData 
WHERE 
    [ShipDate] = [Enter ShipDate]; 
+0

정말 고마워. 그것으로 문제가 해결되었습니다. –