【发布时间】:2015-04-15 09:32:31
【问题描述】:
我创建了一个带有多个组合框的用户表单。用户可以从列表中选择项目或键入新项目。该列表填充了从数据库 (MS SQL 2012) 中选择的数据。然后用户窗体执行一个存储过程并将数据插入到数据库中的表中。
当从列表中选择项目时,它以蓝色突出显示,并且项目后有一些空格。我不知道它们来自哪里以及如何摆脱它们。我已经将一些项目直接插入到数据库中,所以不应该有任何空格。我还使用用户表单添加了一些,也不应该是任何一个。这是打印屏幕的样子:
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
如果有任何提示如何避免这些空白,我将不胜感激。
【问题讨论】:
-
您能分享数据来自的表的架构吗?
-
在这种情况下,它是一个简单的 Person 表,只有 ID 和人名:i58.tinypic.com/2ij2c1x.jpg 对于其他组合框表有多个列,但我只从一列中选择数据
-
对不起,我的意思是表中的名称字段是什么类型,即
nchar等 -
见鬼,你明白了。数据类型:
CREATE TABLE dbo.Osoba ( Osoba_ID INT NOT NULL IDENTITY (1,1), Imię CHAR (8) NOT NULL, PRIMARY KEY (Osoba_ID) ); -
应该是
varchar或nvarchar。在其他组合框中我有同样的问题,数据类型是nchar。
标签: sql-server excel combobox vba