0

イベントautocomplete comboboxではこんな感じにしようと思っています。keyUp

Private Sub Combo59_KeyUp(KeyCode As Integer, Shift As Integer)
    If Len(Combo59.Text) > 2 Then
        Combo59.RowSource = "SELECT City FROM Mills WHERE City LIKE '%" & Combo59.Text & "%' GROUP BY City ORDER BY City;"
        Me.Dirty = False
        Combo59.Requery
    End If
End Sub

問題は、再クエリの後、フィールド内のすべてのテキストが選択されるため、ユーザーが次のキーを押すと、すべてが消去されることです。

簡単な方法はありますか、またはカーソル位置を見つけて、再クエリの後に元に戻す必要がありますか?

ありがとうございました

4

1 に答える 1

2

これには多少の調整が必要な場合がありますが、一般的な考え方がわかります。

Private Sub Combo59_KeyUp(KeyCode As Integer, Shift As Integer)
Dim SaveSelStart
    If Len(Combo59.Text) > 2 Then
        SaveSelStart = Combo59.SelStart
        Combo59.RowSource = "SELECT City FROM Mills WHERE City LIKE '%" & Combo59.Text & "%' GROUP BY City ORDER BY City;"
        Me.Dirty = False
        Combo59.Requery
        Combo59.SelLength = 0
        Combo59.SelStart = SaveSelStart
    End If
End Sub
于 2012-10-11T15:01:55.747 に答える