1

私はこれにリンクされていて、これをいじるのに1時間以上費やした後、残念ながらあきらめました...

私は SQL の経験がありませんが、おそらく簡単な質問です。Accessでこれを(他のバリアントの中でも)試してみると、「式の型が一致しません」というメッセージが表示されます。

SELECT Route_Leg_Passagier.[RouteID], Route_Leg_Passagier.[LegID], Leg.[Startpunt], Leg.[Eindpunt]
FROM Route_Leg_Passagier, Leg
WHERE Route_Leg_Passagier.[LegID] = Leg.[LegID]
AND Route_Leg_Passagier.[RouteID] = '1';

アクセスファイルは次のとおりです。

https://dl.dropboxusercontent.com/u/104521722/Vliegtuigmaatschappij%20-%20Database11.accdb

andが 1である sから、 and がentity に格納されているが、andがentity にあることを確認Startpuntしたい。EindpuntLegRouteIDRouteIDLegIDRoute_Leg_PassagierStartpuntEindpuntLeg

私はこのサイトの経験がありません。しかし、私を批判することは遠慮なくしてください。事前に感謝します! :)

4

2 に答える 2

3

Route_Leg_Passagier.[RouteID] は整数値ではありませんか? この場合、WHERE 条件は次のようになります。

AND Route_Leg_Passagier.[RouteID] = 1;

引用符は文字列または文字値用です

于 2013-04-16T13:17:22.587 に答える
1

Route_Leg_PassagierID.LegID自動付番データ型です。これは実際には長整数の特殊な形式である数値データ型です。 Leg.LegIDテキストデータ型です。そして、あなたのデータベースには、そのフィールドを使用してこれら2つのテーブル間の関係が含まれています。

次の手順を試してください。

  1. db ファイルのバックアップ コピーを作成します。
  2. と の関係を削除しRoute_Leg_PassagierIDますLeg
  3. のデータ型Leg.LegIDを number, long integer に変更します。
  4. 次のクエリをテストします。
SELECT
    rlp.Route_Leg_PassagierID,
    rlp.LegID,
    l.Startpunt,
    l.Eindpunt
FROM
    Route_Leg_Passagier AS rlp
    INNER JOIN Leg AS l
    ON rlp.LegID = l.LegID
WHERE rlp.RouteID='1';

必要に応じて、 のデータ型を修正した後に関係を再作成することもできLeg.LegIDます。

于 2013-04-16T14:38:12.457 に答える