2017-12-21 15 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"形式の)日付を入力すると、適切な結果セットが得られます。

これは、実際の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を追加してください。 Lの 'TrackingDataQuery'をあなたの質問に追加します。 – Andre

+0

ちょっと追加しました。 –

答えて

0

これは動作するはずです:このSQLと

Dim strReportDate As String 

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

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

を:

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

ありがとうございました。それが問題を解決しました。 –

関連する問題