過去ログ

                                Page     612
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼アンダーバーを取り去り、数値にしたい  ひらい 04/4/27(火) 19:02
   ┗Re:アンダーバーを取り去り、数値にしたい  かみちゃん 04/4/27(火) 20:09
      ┗Re:アンダーバーを取り去り、数値にしたい  ひらい 04/4/27(火) 20:29
         ┗Re:アンダーバーを取り去り、数値にしたい  かみちゃん 04/4/27(火) 21:20
            ┗Re:アンダーバーを取り去り、数値にしたい  ひらい 04/4/28(水) 9:44
               ┗Re:Val 関数で  Gin_II 04/4/28(水) 10:36
                  ┗Re:Val 関数で  ひらい 04/4/28(水) 20:28
                     ┗Re:Val 関数で  かみちゃん 04/4/28(水) 21:36
                        ┗Re:Val 関数で  ひらい 04/5/1(土) 12:35
                           ┗Re:Val 関数で  かみちゃん 04/5/1(土) 12:58
                              ┗Re:Val 関数で  ひらい 04/5/1(土) 14:43
                                 ┗Re:Val 関数で  かみちゃん 04/5/1(土) 15:16
                                    ┗Re:Val 関数で  ひらい 04/5/1(土) 15:33

 ───────────────────────────────────────
 ■題名 : アンダーバーを取り去り、数値にしたい
 ■名前 : ひらい
 ■日付 : 04/4/27(火) 19:02
 -------------------------------------------------------------------------
   こんにちは。

あるテーブル中の複数の列に、「1000_」などと
末尾にアンダーバーのついた文字列が入っています。
本来金額なので、アンダーバーを取り去って、かつ数値列にしたいのです。

vbaで記述されたロジックをお持ちのかたがいらっしいましたら、
どなたかお教えくださいませんでしょうか?

 ───────────────────────────────────────  ■題名 : Re:アンダーバーを取り去り、数値にしたい  ■名前 : かみちゃん  ■日付 : 04/4/27(火) 20:09  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

> あるテーブル中の複数の列に、「1000_」などと
> 末尾にアンダーバーのついた文字列が入っています。
> 本来金額なので、アンダーバーを取り去って、かつ数値列にしたいのです。

「フィールド1」フィールドに、「1000_」と入っているとします。
=Val(Replace([フィールド1],"_",""))
で、できると思います。
VBAを使わなくても、クエリでできると思いますが・・・

 ───────────────────────────────────────  ■題名 : Re:アンダーバーを取り去り、数値にしたい  ■名前 : ひらい  ■日付 : 04/4/27(火) 20:29  -------------------------------------------------------------------------
   かみちゃんさん

式に未定義関数Replaceがあります、と出ます。
どうすればよろしいでしょうか?

 ───────────────────────────────────────  ■題名 : Re:アンダーバーを取り去り、数値にしたい  ■名前 : かみちゃん  ■日付 : 04/4/27(火) 21:20  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>式に未定義関数Replaceがあります、と出ます。
>どうすればよろしいでしょうか?

AccessのVersionは200なのでしょうか?
であれば、Access2000のバグです。以下のURLの対処策ではいかがでしょうか?
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsQryHowToUseNewFunctionsOnQuery.html

 ───────────────────────────────────────  ■題名 : Re:アンダーバーを取り去り、数値にしたい  ■名前 : ひらい  ■日付 : 04/4/28(水) 9:44  -------------------------------------------------------------------------
   ▼かみちゃん さん:

>AccessのVersionは200なのでしょうか?
97です。
URLを参考にやってみます。

 ───────────────────────────────────────  ■題名 : Re:Val 関数で  ■名前 : Gin_II  ■日付 : 04/4/28(水) 10:36  -------------------------------------------------------------------------
   >>AccessのVersionは200なのでしょうか?
>97です。

Replace 関数は、Access2000からの関数ですので使えないですね。
ですが、今回のようなデータなら、Val 関数だけで大丈夫だと思います。

 ───────────────────────────────────────  ■題名 : Re:Val 関数で  ■名前 : ひらい  ■日付 : 04/4/28(水) 20:28  -------------------------------------------------------------------------
   ▼Gin_II さん:

ありがとうございます。
ですが、式ビルダでVal関数を使ってみましたがうまくいきません。
クエリ式'Val([コード])'のコンパイルエラーが発生しました、と出ます。
なにがわるいのかわかりません。
お助けください。

 ───────────────────────────────────────  ■題名 : Re:Val 関数で  ■名前 : かみちゃん  ■日付 : 04/4/28(水) 21:36  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>ですが、式ビルダでVal関数を使ってみましたがうまくいきません。
>クエリ式'Val([コード])'のコンパイルエラーが発生しました、と出ます。

Access97で標準関数が使えない場合は、参照設定が「参照不可」になっているのが原因ということを聞いたことがあります。
http://www.ken3.org/backno/hosoku/e032/

余談ですが、今回は「1000_」と末尾の文字を取り除いてということなので、Val関数だけでもいいですが、「100_000」などの場合は、100000ではなく、100となりますので、ご注意ください。

また、これも余談ですが、Access97でReplace関数は使えませんが、どうしても置換したいのであれば、下記URLが参考になるかと思います。
http://www.penhagi.net/access/tips/64_chikan2.htm

 ───────────────────────────────────────  ■題名 : Re:Val 関数で  ■名前 : ひらい  ■日付 : 04/5/1(土) 12:35  -------------------------------------------------------------------------
   ▼かみちゃん さん:
こんにちは。

>Access97で標準関数が使えない場合は、参照設定が「参照不可」
ご紹介いただいたURL通りにやってみました。
ところがチェックをはずすべき「参照不可」が見あたりません。

さしあたって100_000というようなケースはありませんので
Val以外でも、Valと同じ結果が得られる関数があれば救われます。
ご存知でしたらどうかご教授ください。

それにしても標準関数が使えないなんて・・。

 ───────────────────────────────────────  ■題名 : Re:Val 関数で  ■名前 : かみちゃん <kamicha1@mail.goo.ne.jp>  ■日付 : 04/5/1(土) 12:58  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>>Access97で標準関数が使えない場合は、参照設定が「参照不可」
>ご紹介いただいたURL通りにやってみました。
>ところがチェックをはずすべき「参照不可」が見あたりません。

「参照不可」になっているものは、ひとつもないということでよろしいでしょうか?
最適化をしてみたらどうでしょうか?
私は、これくらいしか思いつきませんが、もし、差し支えなければ、エラーとなるようなサンプルを作っていただいて、メールいただいても構いませんが・・・

 ───────────────────────────────────────  ■題名 : Re:Val 関数で  ■名前 : ひらい  ■日付 : 04/5/1(土) 14:43  -------------------------------------------------------------------------
   ▼かみちゃん さん:
こんにちは。

実はいま休日出勤中です。
会社からメールできないようなので以下にサンプルを書きます。

まず用意したのがテーブル1で、フィールド1に”11111111_"がテキスト型で入っています。
次に作成したクエリー1の式ビルドが、式1: Val([テーブル1]![フィールド1])
となっています。
実行後"11111111"を得たいのですが、クエリ式'Val([テーブル1]![フィールド1])'
のコンパイルエラーが発生しました、と出ます。

以上です。

 ───────────────────────────────────────  ■題名 : Re:Val 関数で  ■名前 : かみちゃん  ■日付 : 04/5/1(土) 15:16  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>会社からメールできないようなので以下にサンプルを書きます。

やはり、再現できません。
新規のMDBにテーブル1とクエリ1だけ作っても、そうなりますでしょうか?

 ───────────────────────────────────────  ■題名 : Re:Val 関数で  ■名前 : ひらい  ■日付 : 04/5/1(土) 15:33  -------------------------------------------------------------------------
   ▼かみちゃん さん:
こんにちは。

空のデータベースで、はじめからやり直したらできました。
ブランクとかが入っていたのかと思いましたが、入っていませんでした。

お手数をおかけしてすみませんでした。
感謝申し上げます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 612