Excel vba组合框 - 项目名称后的空格

时间:2015-04-15 09:32:32

标签: sql-server excel-vba combobox vba excel

我创建了一个带有多个组合框的用户窗体。用户可以从列表中选择项目或键入新项目。该列表中填充了从数据库中选择的数据(MS SQL 2012)。然后,Userform执行存储过程并将数据插入数据库中的表。

当从列表中选择项目时,它以蓝色突出显示,并且在项目后面有一些空格。我不知道他们来自哪里以及如何摆脱它们。我已将一些项目直接插入数据库,因此不应该有任何空格。我还通过使用userform添加了一些,并且不应该是任何一个。这是一个打印屏幕的样子:

image(发布图片的声誉太少)

我用来填充组合框的代码:

    Private Sub cboImię_Enter()


On Error GoTo Combobox_Initialize_Err

    Dim rsImię As New ADODB.Recordset

    rsImię.Open "SELECT DISTINCT Imię FROM Osoba;", con, adOpenStatic

    If rsImię.RecordCount = 0 Then
        cboImię.AddItem
            ElseIf cboImię.ListCount = 0 Then
                rsImię.MoveFirst
                With Me.cboImię
                    Do
                        .AddItem rsImię!Imię
                        rsImię.MoveNext
                    Loop Until rsImię.EOF
                End With
            Else: GoTo Combobox_Initialize_Exit
    End If

Combobox_Initialize_Exit:
    On Error Resume Next
    rsImię.Close
    Set rsImię = Nothing
Exit Sub

Combobox_Initialize_Err:
    MsgBox Err.Number & vbCrLf & Err.Description, vbCritical, "Error!"
        rsImię.Close
        Set rsImię = Nothing
        con.Close
        Set con = Nothing
End Sub

我很感激如何避免这些空白的提示。

1 个答案:

答案 0 :(得分:1)

ncharchar都填写了表格中的字符串。

将数据类型更改为nvarcharvarchar以解决问题。

请注意,您需要修改表格中的先前数据以删除填充。