• ベストアンサー

ACCESS97のモジュールにSPLITは無いの?

パールでカンマ区切りのテキスト(行)を下記のコーディングで分解していました パールコーディング  @pflg=split(/,/,$xx) 入力($xx) 11,22,33,44 出力 @pflg(0) → 11    @pflg(1) → 22    @pflg(2) → 33    @pflg(3) → 44 アクセスのモジュールで同様のコーディングは出来ないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

Dim MyArray(4) As Variant Count = 0 StartPos = 1 SearchString = "11,22,33,44" While SearchPos <> 0   SearchPos = Instr(StartPos,SearchString,",")   Pflg(Count) = Mid(SearchString,StartPos,SearchPos-1)   StartPos = SerchPos + 1   Count = Count + 1 Wend 無い物はしょうがないので、とりあえずこんなので代用してはどうでしょう。 もっといい方法があるかも分かりません。 サブプロシージャにすれば使い回せて便利かな。

その他の回答 (4)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.5

#2です。 以前、「質問:文字列にある特定文字の数」でお答えしたことがあるので その時のURLを参照下さい。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=285621

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=285621
回答No.4

そそっかしくてすみません。 No.#3の回答ですが、後ろの "44"が取得できていないので Wend の後に、 Pflg(Count) = Right(SearchString,Len(SearchString)-SearchPos) を追加してください。Countはいくつになってるか自信ないので、ご自分で調べてください。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

Office97のVBAはVisualBasic5相当、Office2000系はVB6相当と思います。 そのため、97のVBAにはSplitが無い。 私はそれで2000にしました。

KIMV
質問者

補足

2000にしたら使えるみたいです。 でもう一つ教えて貰いたいのですが, aa = Split(bb, ",") の"aa"の定義はどのようにすればいいのでしょうか? 初心者で申し訳有りません。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

VB だと Split という関数があるので、Access の VBA でも使えるんじゃないかな? xx = "11,22,33,44" ar = Split(xx, ",") ar(0) → "11" ar(2) → "22"  …

KIMV
質問者

補足

上記のコマンドを行うと,関数がないみたいで・・・ 設定漏れですかね?

関連するQ&A