0

Hia、SQLクエリを作成しているときに少し苦労しています。現在使用しているもの:

InStrRev(TABLE.[_URL],"/")+1) AS OUTPUT

URLの入力が与えられた場合-最後の部分を抽出したい例:

www.url.com/some/text/here

戻る必要があります

here

常に3つのスラッシュがあり、私が投稿したスニペットは完全に機能します。アクセス内でのみ。

アクセスの外でこれを使用しようとすると(エラーが見つかります)、利用可能な代替案に関するアドバイスはありますか?

4

1 に答える 1

2

ご存知のとおり、Access内から実行されるSQLクエリは、SQLのJet / ACE方言でネイティブにサポートされていない多くのVBA関数(InStr()およびなど)を使用できます。InStrRev()Jet / ACE SQLに対するAccessの「拡張機能」の最も強力な側面の1つは、独自のVBA関数を記述して、Accessクエリで使用できることです。

残念ながら、「プレーンな」Jet / ACE SQLでサポートされている関数に関しては、名前の多くが同じであるため、少し混乱する可能性があります。Accessの外部で実行されるJet/ACEデータベースに対するクエリで、、、などをLeft()使用Right()できる場合は、なぜですか?答えは、残念ながら「ただの理由で」です。Mid()InStr()InstrRev()

あなたの特定のケースでは、おそらくクエリで列の値全体を取得し、後で[同等の]InStrRev()関連の解析を実行する必要があるというRemouのコメントに同意します。

于 2013-03-27T21:47:34.483 に答える