アプリ版:「スタンプのみでお礼する」機能のリリースについて

今日一日考えたのですが、解決できずお力をお借りいただけますでしょうか?

テーブルのレコード内の文章に半角スペースが含まれていないかをチェックしたいと思います。
下記のように半角スペースを★へ置換したいのですが、空欄のレコードがエラーとなります。
エラーを非表示にしたいのですが、どうやっても無理でした。
宜しくお願いします。

Function DelSpc(str As String) As String
Spc = Replace(str, " ", "★", 1, -1, 0)
End Function

質問者からの補足コメント

  • 下記でもダメでした。。。どうしてでしょう。。。

    Function Spc(str As String) As String
    Spc = Replace(Nz(str, ""), " ", "★", 1, -1, 0)
    End Function

      補足日時:2017/12/14 16:21

A 回答 (3件)

えっと、、、


このようなクエリ(0を””に書き換えた)を作って、事前に実行させて対応しましたという意味です。
テーブル上でnull不可、デフォルトでブランク(””)としておけば以後発生しなくなると思います。
https://www.feedsoft.net/access/guide-query/guid …
    • good
    • 0
この回答へのお礼

なるほど、、、デフォルトでnullを不可にすれば、今後はOKそうですね。
今までのデータは、更新クエリを使ってみたいと思います。
ありがとうございます。

お礼日時:2017/12/14 17:44

更新クエリで事前にデータをブランクに書き換えておくという意味でした。



>どうしてでしょう。。。
アクセスの環境が今ありませんのでチェックできないのですが、たぶん、replace関数はヌル値には対応できない、ということでしょうから、どうしてもファンクション一発で処理したいとのことでしたら、エラーハンドリングして捕まえたらブランク返すとか、、、汚いやり方しかないかもしれません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。なんか難しそうですね。
アクセスやVB等は初心者で、いろいろなサイトを参考にさせてもらってます。
あきらめたほうがよさそうですね。。。

お礼日時:2017/12/14 17:07

私は、空欄のレコードを””に置き換えるという方法しか思いつきませんでした(更新クエリで対応できたと思います)。

    • good
    • 0

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