Guardar datos de un combobox a access
Hola de nuevo mi amigo experto
/
Tengo el siguiente problema, estoy haciendo un programa donde tengo varios combobox con datos, que los puse con .additem al cargar el formulario, entonces, el problema es que cuando grabo los datos lo que me guarda aparentemente por lo que veo es el indice.
/
Entonces, lo que necesito son 2 cosas la primera: quiero tomar los datos del combo de la base de datos de access, para no tener que agregarlo por .additem y lo segundo: como puedo grabar los datos en la tabla que lo grabe con el texto no con el indice.
/
El código que utilice es este:
/
Option Explicit
Enum EACCIONConf
AGREGAR_REGISTRO = 0
EDITAR_REGISTRO = 1
End Enum
Public IdRegistro
Public ACCION As EACCIONConf
Private Backspaced As Boolean
Private Sub cmdGuardar_Click()
On Error GoTo ErrorSub
' Valida el Nombre que no este vacio
''''''''''''''''''''''''''''''''
If Trim(Text1(1)) = "" Then
MsgBox "El Nombre de registro no puede estar vacio", vbCritical, "Datos incompletos"
Text1(1).SetFocus
Exit Sub
' Valida el Apellido
''''''''''''''''''''''''''''''''
ElseIf Trim(Text1(2)) = "" Then
MsgBox "El Telefono no puede estar vacio", vbCritical, "Datos incompletos"
Text1(2).SetFocus
Exit Sub
' Valida el Agente, la Confirmacion y la Tienda
''''''''''''''''''''''''''''''''
ElseIf Trim(CmbAgente.Text) = "" Then
MsgBox "No se ha indicado el Agente", vbCritical, "Datos incompletos"
CmbAgente.SetFocus
Exit Sub
ElseIf Trim(CmbConfirmacion.Text) = "" Then
MsgBox "No se ha indicado el Tipo de Confirmacion", vbCritical, "Datos incompletos"
CmbConfirmacion.SetFocus
Exit Sub
ElseIf Trim(CmbTienda.Text) = "" Then
MsgBox "No se ha indicado la Tienda", vbCritical, "Datos incompletos"
CmbTienda.SetFocus
Exit Sub
ElseIf Trim(CmbEstatus.Text) = "" Then
MsgBox "No se ha indicado el Estatus", vbCritical, "Datos incompletos"
CmbEstatus.SetFocus
Exit Sub
End If
'Agrega el registro
'''''''''''''''''''''''''''''''
Select Case ACCION
Case EDITAR_REGISTRO
Cnn.Execute "UPDATE Confirmaciones set Agente = '" & CmbAgente.ListIndex & _
"', Nom_Cliente = '" & Text1(1) & _
"', TConfirmacion = '" & CmbConfirmacion.ListIndex & _
"', Telefono = '" & Text1(2) & _
"', Tienda = '" & CmbTienda.ListIndex & _
"', No_Orden = '" & Text1(3) & _
"', Estatus = '" & CmbEstatus.ListIndex & _
"' where Id = " & IdRegistro & ""
Case AGREGAR_REGISTRO
Cnn.Execute "INSERT INTO Confirmaciones " & "(Agente,Nom_Cliente,TConfirmacion,Telefono,Tienda,No_Orden,Estatus,Fecha) VALUES('" & _
CmbAgente.ListIndex & "','" & _
Text1(1) & "','" & _
CmbConfirmacion.ListIndex & "','" & _
Text1(2) & "','" & _
CmbTienda.ListIndex & "','" & _
Text1(3) & "','" & _
CmbEstatus.ListIndex &...
/
Tengo el siguiente problema, estoy haciendo un programa donde tengo varios combobox con datos, que los puse con .additem al cargar el formulario, entonces, el problema es que cuando grabo los datos lo que me guarda aparentemente por lo que veo es el indice.
/
Entonces, lo que necesito son 2 cosas la primera: quiero tomar los datos del combo de la base de datos de access, para no tener que agregarlo por .additem y lo segundo: como puedo grabar los datos en la tabla que lo grabe con el texto no con el indice.
/
El código que utilice es este:
/
Option Explicit
Enum EACCIONConf
AGREGAR_REGISTRO = 0
EDITAR_REGISTRO = 1
End Enum
Public IdRegistro
Public ACCION As EACCIONConf
Private Backspaced As Boolean
Private Sub cmdGuardar_Click()
On Error GoTo ErrorSub
' Valida el Nombre que no este vacio
''''''''''''''''''''''''''''''''
If Trim(Text1(1)) = "" Then
MsgBox "El Nombre de registro no puede estar vacio", vbCritical, "Datos incompletos"
Text1(1).SetFocus
Exit Sub
' Valida el Apellido
''''''''''''''''''''''''''''''''
ElseIf Trim(Text1(2)) = "" Then
MsgBox "El Telefono no puede estar vacio", vbCritical, "Datos incompletos"
Text1(2).SetFocus
Exit Sub
' Valida el Agente, la Confirmacion y la Tienda
''''''''''''''''''''''''''''''''
ElseIf Trim(CmbAgente.Text) = "" Then
MsgBox "No se ha indicado el Agente", vbCritical, "Datos incompletos"
CmbAgente.SetFocus
Exit Sub
ElseIf Trim(CmbConfirmacion.Text) = "" Then
MsgBox "No se ha indicado el Tipo de Confirmacion", vbCritical, "Datos incompletos"
CmbConfirmacion.SetFocus
Exit Sub
ElseIf Trim(CmbTienda.Text) = "" Then
MsgBox "No se ha indicado la Tienda", vbCritical, "Datos incompletos"
CmbTienda.SetFocus
Exit Sub
ElseIf Trim(CmbEstatus.Text) = "" Then
MsgBox "No se ha indicado el Estatus", vbCritical, "Datos incompletos"
CmbEstatus.SetFocus
Exit Sub
End If
'Agrega el registro
'''''''''''''''''''''''''''''''
Select Case ACCION
Case EDITAR_REGISTRO
Cnn.Execute "UPDATE Confirmaciones set Agente = '" & CmbAgente.ListIndex & _
"', Nom_Cliente = '" & Text1(1) & _
"', TConfirmacion = '" & CmbConfirmacion.ListIndex & _
"', Telefono = '" & Text1(2) & _
"', Tienda = '" & CmbTienda.ListIndex & _
"', No_Orden = '" & Text1(3) & _
"', Estatus = '" & CmbEstatus.ListIndex & _
"' where Id = " & IdRegistro & ""
Case AGREGAR_REGISTRO
Cnn.Execute "INSERT INTO Confirmaciones " & "(Agente,Nom_Cliente,TConfirmacion,Telefono,Tienda,No_Orden,Estatus,Fecha) VALUES('" & _
CmbAgente.ListIndex & "','" & _
Text1(1) & "','" & _
CmbConfirmacion.ListIndex & "','" & _
Text1(2) & "','" & _
CmbTienda.ListIndex & "','" & _
Text1(3) & "','" & _
CmbEstatus.ListIndex &...
1 respuesta
Respuesta de Eduardo Saligari
1