2017-04-26 6 views
0

私は、区切りを付ける必要がある連結テキストの可変ストリングを持つフィールドを持っています。私は、フレーズとそのフレーズが2つの別々のフィールドに何回出現したのかをカウントし、追加のフレーズごとに同じプロセスを繰り返す必要があります。MS Accessクエリーのcharectorの代わりにmuliple criteraに基づいてテキスト文字列を区切ります。

テーブルフィールドテキストの例:

"some text":2;いくつか:他のNEARテキスト:1;

所望の結果:

[フィールド1]: "テキスト"、[フィールド2] 2、[フィールド3]:いくつかのその他のNEARテキスト、[フィールド4] 1

問題私は ":"と ";"を使用すると、 Len、Instr、InstrRev、Left、RightおよびMid関数を使用してフィールドを区切るには、「some:other NEAR text」文字列を「some」および「other NEAR text」に区切ります。これを回避する方法はありますか、それとも別の方法でこれを行うべきですか?どんな助けもありがとうございます。

答えて

0

個別のフィールドに解析するために、これは1回限りの不良データの修正ですか?試行されたコードを表示する必要があります。

フィールド1:Left(x, InStr(x, ":")-1)

フィールド2:Val(Mid(Left(x, InStr(x, ";")),InStrRev(Left(x, InStr(x, ";")),":")+1))

フィールド3:Mid(x, InStr(x, ";")+2, Len(Mid(x, InStr(x, ";")+2))-Len(Mid(x,InStrRev(x,":"))))

フィールド4すべてのレコードは、例えば、構造体の値を持ち、(xは連結されたデータフィールドを表す)してみてくださいと仮定すると、

Val(Mid(x,InStrRev(x,":")+1))

それ以外の場合は、migカスタムVBA機能を構築する必要があります。

関連する問題