- ベストアンサー
ACCESS97のモジュールにSPLITは無いの?
パールでカンマ区切りのテキスト(行)を下記のコーディングで分解していました パールコーディング @pflg=split(/,/,$xx) 入力($xx) 11,22,33,44 出力 @pflg(0) → 11 @pflg(1) → 22 @pflg(2) → 33 @pflg(3) → 44 アクセスのモジュールで同様のコーディングは出来ないのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
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)
#2です。 以前、「質問:文字列にある特定文字の数」でお答えしたことがあるので その時のURLを参照下さい。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=285621
- Marionette
- ベストアンサー率56% (42/74)
そそっかしくてすみません。 No.#3の回答ですが、後ろの "44"が取得できていないので Wend の後に、 Pflg(Count) = Right(SearchString,Len(SearchString)-SearchPos) を追加してください。Countはいくつになってるか自信ないので、ご自分で調べてください。
- bin-chan
- ベストアンサー率33% (1403/4213)
Office97のVBAはVisualBasic5相当、Office2000系はVB6相当と思います。 そのため、97のVBAにはSplitが無い。 私はそれで2000にしました。
- a-kuma
- ベストアンサー率50% (1122/2211)
VB だと Split という関数があるので、Access の VBA でも使えるんじゃないかな? xx = "11,22,33,44" ar = Split(xx, ",") ar(0) → "11" ar(2) → "22" …
補足
上記のコマンドを行うと,関数がないみたいで・・・ 設定漏れですかね?
補足
2000にしたら使えるみたいです。 でもう一つ教えて貰いたいのですが, aa = Split(bb, ",") の"aa"の定義はどのようにすればいいのでしょうか? 初心者で申し訳有りません。