<Accessで半角スペースを全角にしたい>
目次
1.こんにちは
2.Accessで半角スペースを全角にしたい
3.いろいろな考え方が、、、
4.おわりの挨拶
----------------------------------------------------------------------------
/*
* 1.こんにちは
*/
こんにちは。
匿名さんより、Access関係の質問、いただきました。
住所データの整理を行っており(年末年賀状の準備かな?)
氏名と名前の間を全角スペースで統一したいとのご相談でした。
AB型で気分屋のKen3が、一人二役で回答します。
*別なやり方を思いついた人、
イヤこれは違う、、と一緒に毒舌したい人は、
メール送ってください。
オイオイ、いつになったら、講座開始するの?
、、、、
/*
* 2.Accessで半角スペースを全角にしたい
*/
匿名 さん wrote...
>ACCESSで半角スペースを全角スペースにする関数か、
>または、方法を教えて下さい
>
>特に名前などに間のスペースを簡単に変換する方法は?
>
> 例: 匿名 希望 ――→ 匿名 希望
A = "匿名 希望"
msgbox strconv(A, vbWide)
でOKだと思うけど、、、
*vbWide --> 半角文字列を全角にする
これは、わかってんだよ。、、
じゃなくて、
更新クエリーとかで一括更新するには、
どうすんだよ。
そしたら、
更新クエリーで、
UPDATE DISTINCTROW T_DATA SET T_DATA.変換後 = StrConv([氏名元],vbWide);
って書けばいいんじゃないの?
StrConv([氏名元],vbWide)って書いても、
StrConv([氏名元],"vbWide")で勝手に""が付くんだよ。
自分でサンプル作ってから、回答してるの?
あっ、おっしゃる通り、
StrConv([氏名元],vbWide)のvbWideが書けないですね。
定数は、クエリーの中じゃ使えないみたいですね、、、
StrConv([氏名元],4)にすると、動きますよ。
どうやって、vbWide = 4って、わかったんだよ、、、
StrConvのヘルプ見て下さいよ、、、たまには、、、。
それか、デバックモード(CTRL+G)で、
? vbWideってやると、4と表示されますよ。
クエリーは書けたけど、
これだと、元から、
半角スペースが2つ入っているデータが
全角スペース2つに変換されるから、
使えないね。
例)匿名 希望 --> 匿名□□希望と全角スペース2つになる
また、半角英字で外人の名前が入っていたら、全角になってしまうだろ。
例)Kibou Tokumei --> Kibou Tokumei
半角カナでユースケ・サンタマリアなんて入ってたら、どう?
しつこいですね、、、わかりましたよ、
下記のモジュールを使ってください。
Public Function SP_Conv(moji) As String
Dim n As Integer
Dim RET As String
Dim ChkString As String
RET = "" 'リターン値の初期化
'文字数分ループする
For n = 1 To Len(moji & "")
ChkString = Mid(moji, n, 1)
If ChkString = " " Then '半角スペースかチェック
RET = RET & " " '全角スペースをプラスする
If Mid(moji, (n + 1), 1) = " " Then '次の文字がスペースがチェック
n = n + 1 'ループカウンタを小細工
End If
Else
RET = RET & ChkString 'スペース以外の時、そのままプラスする
End If
Next n
SP_Conv = RET
End Function
更新クエリーで、
UPDATE DISTINCTROW T_DATA SET T_DATA.変換後 = SP_Conv([氏名元]);
って書けばOKだと思います。
[氏名元]がNullだった時、""に変換されてしまうよ。
それだと、マズイケースが出て来るんだよな、、、
もう、それぐらい、自分で改造してくださいよ。。。では。。。
*途中で投げだしちゃ、よくないよ、、、
(完璧、考えてください)
/*
* 3.いろいろな考え方が、、、
*/
プログラムを組んで、テストをしていると、
データによって、いろいろな処理の方法や、
例外ケースが出てきます。
「そんなの聞いてないよ...」「仕様外は対応しない」
など、言ってケンカするのも、面白い?ですが、
一番良いのは、打合せの時に想像力を働かせて、
事前に回避するのが、、、理想ですね。
ある話で、
この業界では常識だから事前に話さなかった
など言われて、イタイ目にあったことあります。
また、最近は、
「お客にムリだって、言って下さいよ、できないですよもう」
とチーム内のメンバーからは言われ、
お客からは、
「なんとかしてくださいよ」
と相談され、、、立場が、、、
あっ、このへんで愚痴も終らせないと、、、
Sp_cnv.lzh←Access97だけど
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
項目別に本音?それとも建て前?的な記事をまとめました。
|
気になったジャンル↓を選択してください。 |
Blogとリンク:[三流君の作業日記]/ [愚痴(Bookmark)]/ [広告Blog(Bookmark)]