Visual Basic - REFRESCAR COMBO

Life is soft - evento anual de software empresarial
 
Vista:

REFRESCAR COMBO

Publicado por JUANITO (20 intervenciones) el 29/03/2007 20:10:18
Hola_ tengo un formulario de una base de datos con un combo (combo1) que contiene los registros de una tabla de esa base de datos (tabla "usuarios"), el caso es que tengo unos botones para poder agregar registros a esa tabla. Uno de los botones lo que debe de hacer es actualizar la lista de registros en el combo una vez introducido un nuevo registro en la tabla.

La cuestion es que al pulsar el boton se me actualiza la tabla correctamente con el nuevo registro grabado pero lo que sucede al pulsar nuevamente el boton de actualización sin haber introducido un nuevo registro, es duplicar los existentes, es decir, si tengo en la tabla usiarios los registros (Pedro, manuel, Juan) si vuelvo a pulsar a ese boton me aparece en el combo (pedro, manuel, juan, pedro, manuel, juan), y si vuelvo a pulsar en el boton, sale una tercera vez y así indefinido mientras pulso el boton. Si me salgo del form y entro salen los registros del combo correctamente.

Os pongo el codigo que tengo en el boton para ver que tengo que añadirle o quitarle para solucionar esto.

Private Sub Command2_Click()

If MiTabla.RecordCount > 0 Then
MiTabla.MoveFirst ' nos posicionamos al inicio del fichero
Do While Not MiTabla.EOF
Combo1.AddItem MiTabla.Fields!Usuarios ' inserta el campo nombre al ComboBox
MiTabla.MoveNext ' salta al siguiente registro del fichero
Loop
Combo1.ListIndex = 0 ' indicamos al combo box, que presente la primera entrada
Else
MsgBox "No se puede ejecutar el programa, porque no hay registros en el fichero"
End
End If
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:REFRESCAR COMBO

Publicado por Luis Prieto (166 intervenciones) el 29/03/2007 21:38:28
Hola, juanito!!!

Lo unico que debes poner al inicio es: combo1.clear
Y quedaria de la siguiente mnera::

Private Sub Command2_Click()
Combo1.clear
If MiTabla.RecordCount > 0 Then
MiTabla.MoveFirst ' nos posicionamos al inicio del fichero
Do While Not MiTabla.EOF
Combo1.AddItem MiTabla.Fields!Usuarios ' inserta el campo nombre al ComboBox
MiTabla.MoveNext ' salta al siguiente registro del fichero
Loop
Combo1.ListIndex = 0 ' indicamos al combo box, que presente la primera entrada
Else
MsgBox "No se puede ejecutar el programa, porque no hay registros en el fichero"
End
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar