У меня ComboBox
, но проблема в том, что когда я пытаюсь сохранить выбранное значение, я загружаю ComboBox
со значениями SQLServer
, и приложения показывают мне следующую ошибку:
[Microsoft] [ODB C SQL Драйвер сервера] [SQL Сервер] Неверное имя столбца 'celular'.
Я загружаю ComboBox
со значениями из SQL
:
Private Sub Form_Load()
Set rs = New Recordset
rs.CursorLocation = adUseServer
Call IniciarConexion
CargaIDTipoNumero
End Sub
Private Sub CargaIDTipoNumero()
cmbAddExample(indice).Clear
rs.Open "SELECT tipo FROM tipo_Numero", cnn, adOpenDynamic, adLockOptimistic
Do While rs.EOF = False
cmbAddExample(indice).AddItem rs!tipo
rs.MoveNext
Loop
rs.Close
End Sub
Private Sub IniciarConexion()
Set cnn = New ADODB.Connection
With cnn
.CursorLocation = adUseClient
.Open "PROVIDER=MSDASQL;driver={SQL Server};server=server;uid=uid;pwd=pwd;database=database;"
End With
End Sub
Таблица, в которой сохраняются значения ComboBox
:
CREATE TABLE ejTres(
combo int
)
Таблица с загрузкой ComboBox
:
CREATE TABLE tipo_Numero(
idTipo INT IDENTITY (1,1) NOT NULL,
tipo VARCHAR (10) NOT NULL,
CONSTRAINT pk_tipo PRIMARY KEY(idTipo)
)
INSERT INTO tipo_Numero(tipo)
VALUES('celular'), ('fijo')
И Button
, где я сохраняю значения:
Private Sub btnGuardar_Click()
Dim i As Integer
Dim CM As ADODB.Command
Set CM = New ADODB.Command
Set CM.ActiveConnection = cnn
CM.CommandType = adCmdText
CM.CommandText = "INSERT INTO ejTres (combo) VALUES (?)"
CM.Parameters.Append CM.CreateParameter("@combo", adInteger, , , cmbAddExample(i))
CM.Execute , , adExecuteNoRecords
End Sub