我创建了一个带有多个组合框的用户窗体。用户可以从列表中选择项目或键入新项目。该列表中填充了从数据库中选择的数据(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
我很感激如何避免这些空白的提示。
答案 0 :(得分:1)
nchar
和char
都填写了表格中的字符串。
将数据类型更改为nvarchar
或varchar
以解决问题。
请注意,您需要修改表格中的先前数据以删除填充。