プロが教える店舗&オフィスのセキュリティ対策術

例えばテキストからデータベースへ取り込んだものが

+disturb

のように頭に「+」の文字が全てついていますので
これをLEN関数を使って取ってしまおうと考えたのですが、
クエリのフィールドに埋め込む関数を

式3: Right([データベース],Len([データベース]‐1))

としたところ、(文字数のうち、右側から数えた文字数を1個残して表示してくれるはず)


『指定した式の構文が不正です。例えば演算子がないときにオペランドを指定しています』


と出てしまいます。何がいけないのか教えてください。


式3: Right([データベース],Len([データベース]))


の式では +disturb をきちんと返しているのですが・・・。

よろしくお願いします。

A 回答 (4件)

失礼しました。

No3もそのままコピー
したので直っていませんでした。
以下です。

Right([データベース],Len([データベース])-1)

-1とするときにキーボードの入力モードが
全角文字なっているのではと思いますが。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

式1: Right([フィールド1],(Len([フィールド1])-1))

で表示できました。
ご連絡頂いた方法とどちらがいいか、検討してみます。

お礼日時:2011/04/28 12:59

No1です。


エラーの内容が気になったので
質問の式をメモ帳に貼り付けてみると

‐1

の部分で-は全角ハイフン、1は全角文字の1
になっています。このために

『指定した式の構文が不正です。例えば演算子が
ないときにオペランドを指定しています』

というエラーが生じています。この部分を
すべて半角で置き換えると、クエリでは
#ERRORと表示されるはずです。
そこで、No1のように

Right([データベース],Len([データベース])‐1)

設定すると正常にデータが表示されます。
    • good
    • 0

かっこ閉じの位置がおかしいです。



Right([データベース],Len([データベース])-1)

とするか、もしくは除きたい文字が"+"と決まっているのなら

Replace([データベース],"+","")

という方法もあります。
(こちらだと、先頭以外の"+"の文字も除いてしまいますが)

この回答への補足

Right([データベース],Len([データベース])‐1)

やってみましたが、結果は駄目でした。

Replaceはいいアイディアだと思います。

Len関数が使えないのが悔しいですが・・・。

補足日時:2011/04/28 12:22
    • good
    • 0

>Right([データベース],Len([データベース]‐1))



Right([データベース],Len([データベース])‐1)

では?

この回答への補足

Right([データベース],Len([データベース])‐1)

やってみましたが、結果は駄目でした。

補足日時:2011/04/28 12:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!