Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1447 / 2272 ツリー ←次へ | 前へ→

【7132】文字の挿入について yoshi 06/1/24(火) 9:57 質問[未読]
【7133】Re:文字の挿入について Gin_II 06/1/24(火) 10:17 回答[未読]
【7138】Re:文字の挿入について yoshi 06/1/24(火) 15:02 質問[未読]
【7139】Re:文字の挿入について Gin_II 06/1/24(火) 16:02 回答[未読]
【7141】ありがとうございました。 yoshi 06/1/24(火) 21:26 お礼[未読]
【7142】Re:関係ないので聞き流してもOK たん 06/1/25(水) 9:20 発言[未読]
【7143】まったく関係ないので聞き流し推奨 藤倉 06/1/25(水) 10:12 発言[未読]

【7132】文字の挿入について
質問  yoshi  - 06/1/24(火) 9:57 -

引用なし
パスワード
   宜しくお願い致します。

フォームに配置してあるテキストボックス「テキストA」に文字をいれ、
クリックボタンでレポートを開いて、その時にフォームの「テキストA」に
入力した文字をレポートの「テキストボックス代入」に挿入ます。
その挿入した文字をレポートのテキストボックス「ふりがな1」から「ふりがな5」までに1文字ずつ分けて挿入したいのですが
下記の例のようにフォームのテキストボックスに「カブシキ」と入れて
レポートを開くと濁点がわかれてしまいます。(下記の記述で)
分かれないように一文字として認識して挿入できないでしょうか。


例(フォームのテキストボックスA) (レポートのふりがな1からふりがな5)             
  1---1---1---1---1          1---1---1---1---1---1  
  1 カ1 ブ1 シ1 キ1    →     1 カ1 フ1 " 1 シ1 キ1 
  1---1---1---1---1         1---1---1---1---1---1 

★レポートでの記述

If Me.テキストボックス代入 <> "" Then
  ふりがな1 = Mid$(テキストボックス代入, 1, 1)
  ふりがな2 = Mid$(テキストボックス代入, 2, 1)
  ふりがな3 = Mid$(テキストボックス代入, 3, 1)
  ふりがな4 = Mid$(テキストボックス代入, 4, 1)
  ふりがな5 = Mid$(テキストボックス代入, 5, 1)
End If

【7133】Re:文字の挿入について
回答  Gin_II  - 06/1/24(火) 10:17 -

引用なし
パスワード
   よそでも質問されていた件ですよね?

>下記の例のようにフォームのテキストボックスに「カブシキ」と入れて
>レポートを開くと濁点がわかれてしまいます。(下記の記述で)
>分かれないように一文字として認識して挿入できないでしょうか。

確認ですが、全角カナで入力してあっても、濁点・半濁点が分離されている
ってことでしょうか?

こちらの環境(Access2000)では、イミディエイトウィンドウで以下のように
なりますけど。

?Mid$("カブシキ", 2, 1)


?Mid$("カブシキ", 2, 1)


【7138】Re:文字の挿入について
質問  yoshi  - 06/1/24(火) 15:02 -

引用なし
パスワード
   全角カナで入力すれば分離はされませんでした。
半角だと無理なのでしょうか。
宜しくお願い致します。

>よそでも質問されていた件ですよね?
はい。色々やってみたのですがどうしても出来ませんでしたので。
同じ所だと聞きづらかったので。
申し訳ございません。

【7139】Re:文字の挿入について
回答  Gin_II  - 06/1/24(火) 16:02 -

引用なし
パスワード
   >全角カナで入力すれば分離はされませんでした。
>半角だと無理なのでしょうか。

StrConv 関数を利用するということは理解できましたよね?

(1) Mid 関数の内部で、全角カナに変換して1文字を切り出す
(2) Mid 関数の外部で、半角カナに戻してやる

という手順になります。
全角カナで表示してよければ、(2)の手順は不要です。

> ふりがな1 = Mid$(テキストボックス代入, 1, 1)
Me!テキストボックス代入 = StrConv(Mid(StrConv(Me!テキストボックス代入,vbWide),1,1),vbNarrow)

【7141】ありがとうございました。
お礼  yoshi  - 06/1/24(火) 21:26 -

引用なし
パスワード
   本当にありがとうございました。
これからも頑張って勉強します。

【7142】Re:関係ないので聞き流してもOK
発言  たん  - 06/1/25(水) 9:20 -

引用なし
パスワード
   >>よそでも質問されていた件ですよね?
>はい。色々やってみたのですがどうしても出来ませんでしたので。
>同じ所だと聞きづらかったので。
>申し訳ございません。

ええとね、ちょい苦言。
「余所で聞きづらい」といわれてますが、回答を行なっている面々というのは
だいたい、何処の掲示板も同じように覗いています。

ので逆に、「こっちでこの質問してるのに、関連する質問はこっちでやるの?」
みたいな質問を見つけてしまうと、逆に首をかしげてしまうのです。
(これは回答する人によりますが。)

# まあ、名前変えても、質問内容みれば、だいたい想像ついちゃうしね。

聞くは一時の恥です。
ただ、別の所で質問をした場合、質問者の環境(及び別の所での質問の流れ+回答)を
わかっていない別の回答が来た場合、その回答を適用しようとして、回答に矛盾や
不都合が生じ、それぞれの回答を有効に生かす事が出来なくなることもあります。

そういうのが生じないという自身があるなら、複数の所で質問しても良いでしょう。
(そういう不都合が生じる事もあるので、マルチポストは本来、良くないのです。)

# それ以前に、同じ質問を複数箇所で見るのは気分がよく無いというのはありますが。

【7143】まったく関係ないので聞き流し推奨
発言  藤倉  - 06/1/25(水) 10:12 -

引用なし
パスワード
   素晴らしい批判を執拗に見せられるのは気持ちの良いものです。私もこのような
人物になりたく思います。このような方が上司や先輩だったら、さぞ人生が充実する
ことでしょう。自分にも他人にも厳しく、社会人の鑑とも言えましょう。
皆さん、見習いましょう。

1447 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free