Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルコンボボックスのリスト外入力で、振り仮名の取得がうまくいきません。
記事No172052
投稿日: 2017/10/07(Sat) 17:21
投稿者anocora
解決済: ON
参照先http://www.accessclub.jp/bbs2/0017/beginter05890.html
OS:Windows10
Access Version:2007
「No.5890 コンボボックスに入力した文字列のふりがなを表示するテキストボックス」のしゃくさんのソースを使って動作を確認しているのですが、
企業名を入力する必要があり、変換して次の言葉を入力すると、仮名が重複して表示されます。

ImeText.Value = ""やlpBuf = EmptyをWith〜End Withの後に追加してみたのですが、動作に変更はなく、どうすればよいのか途方に暮れています。

お知恵をお貸しください。

タイトルRe: コンボボックスのリスト外入力で、振り仮名の取得がうまくいきません。
記事No172053
投稿日: 2017/10/08(Sun) 21:44
投稿者anocora
解決済: ON
自己解決しました。
もっとスマートな手段が有りそうですが、
'取得した読みをダミーのテキストボックスのコピー
If Len(cmbBox2.Text & "") > 0 Then
Me.ImeText.Value = Left(lpBuf, nSize)
With Me.TextBox
'.SelStart = Len(.Value) '出力位置を既存のテキストの最後尾に置く
'.SelText = ImeText.Value 'ダミーのテキストをコピー
.Value = .Value & ImeText.Value
End With
End If

'取得した読みをダミーのテキストボックスのコピー
If Len(cmbBox2.Text & "") > 0 Then
    S_CURS = S_CURS & Trim(str(ImmGetCompositionString(hIMC, GCS_CURSORPOS, vbNullString, 0)))
If Right(S_CURS, 2) = "00" Or Right(S_CURS, 2) = "02" Or Right(S_CURS, 2) = "22" Then Exit Sub
Me.ImeText.Value = Left(lpBuf, nSize)
With Me.TextBox
'.SelStart = Len(.Value) '出力位置を既存のテキストの最後尾に置く
'.SelText = ImeText.Value 'ダミーのテキストをコピー
.Value = .Value & ImeText.Value
End With
End If
を追加しました。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る