Actualizar datos de combobox

Que tal amigos tengo un problema con un combobox en vb 6, resulta que tengo dos tablas llemémosla tabla1 y tabla2 en access y los formularios en vb, bueno el problema consiste en que no puedo actualizar los registros del compo, ejemplo, si tengo 1,2,3,4,5 en mi combox, y utilizo el registro uno, ala hora de terminar de registra se limpian los combos y textbox que estoy utilizando, dejándolo listo para registrar el numero dos, y cuando le doy en el combo me sigue mostrando el 1,2,3,4,5, si cierro el formulario e intento registrar ahí si aplican los cambios y ya me aparecen 2,3,4,5, y tengo que estar cerrando y abriendo la forma, les comento que cuando carga la forma en automático cargan los valores del combo, espero me haya explicado bien y que me puedan ayudar a resolver mi problema.

1 respuesta

Respuesta
1
Para responderte necesito saber como llenas ese combo. ¿Lo "unes" a un data? ¿A un recordset?.
De cualquier forma, busca la propiedad REQUERY en la fuente de datos del combo (el data, adodc, recordset, ... ).
Ok mira coloco el código con el que cargo el combobox
Este código es cuando carga el form y carga los datos del combo
***** elcombo lo llame Cmdtb 
Conectar
Conexión.Open
Set rs = Conexion.Execute("SELECT Ticket.Consecutivo FROM Ticket WHERE Ticket.Consecutivo NOT IN (SELECT TicketdeBascula from Ventas) AND Movimiento= 'Venta'")
While Not (rs.EOF)
Cmdtb.AddItem rs.Fields("Consecutivo")
rs.MoveNext
Wend
Conexión.Close
********************************************
*** y  el cogido de cuando le loy click al combo es el siguiente
Private Sub Cmdtb_Click()
'Ticket.Remision,Ticket.Fecha,Ticket.PesoNeto,Ticket.Preciocompraventa,Ticket.Subtotal,Ticket.Iva,Ticket.Total
conectar
Conexion.Open
Set rs = Conexion.Execute("SELECT Remision,Fecha,PesoNeto,Preciocompraventa,Subtotal,Iva,Total FROM Ticket WHERE Consecutivo = " & Cmdtb.Text & "")
While Not (rs.EOF)
TxtRemision.Text = rs.Fields("Remision")
DTPicker1.Value = rs.Fields("Fecha")
TxtKg.Text = rs.Fields("PesoNeto")
TxtPU.Text = rs.Fields("Preciocompraventa")
TxtSubtotal.Text = rs.Fields("Subtotal")
TxtIVA.Text = rs.Fields("Iva")
Txttomn.Text = rs.Fields("Total")
rs.MoveNext
Wend
'Cmdtb.Refresh
Conexión.Close
End Sub
********************* Cuando carga el form llena los registros de combobox y hace comparacion entre dos tablas con el NOT IN, compara k los datos de la tabla 1 no sean igual con los de la tabla dos, lo de la comparacion ya lo hizo y todo el detalle es k cuando registro un dato,  se supone k ya no debe aparecer en la lista del combobox y aparece  cuando kiero volver a registrar otro dato  del combobox , entonces tengo k cerrar el formulario y volverlo abrir  y solo asi me actualiza los cambios en elcombobox,espero me haya dado a entender.
Saludos y gracias
Por lo que veo tu "cargas" el combo cuando abres el formulario. Luego, a no ser que vuelvas a "cargarlo" nunca apareceran/desapareceran los elementos que hayas editado.
Te propongo esto: crea una procedimiento (sub) que cargue el combo por eje:
Private sub cargarCombo()
   ... 'aqui pegas el codigo con el que llenas el combo
End Sub
Luego llamas a esta función cuando abras el formulario, y CADA VEZ QUE REGISTRES elemento.
Así, si has realizado un cambio, se debe ver reflejado en el combo.
Hola que tal amigos, les comento que el problema ya quedo solucionado, trate de hacerlo con el requery y no quedaba de echo lo unic que tuve que hacer fue declarar una variable más en mi botón a la hora de agregar y quedo solucionado el problema.
Aun así lo que me comentaron me sirvió de mucho ya que anduve conociendo nuevas cosas.
Gracias y saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas