Refrescar combo

Carlos
20 de Enero del 2005
Buenas, tengo un formulario en el que tengo un combo que me muestra las tablas de una BBDD de access (me lo pasasteis aqui). En el mismo formulario tengo un boton que crea una tabla en la misma BBDD. El problema es que despues de crear una nueva tabla no me aparece en el combo a menos que cierre y vuelva a abrir el formulario. He probado a meter el proceso que me muestra las tablas en distintos eventos del combo, pero no va. Creo que es porque no controlo bien el objeto Base de datos. ¿Podeis ayudarme? Gracias mil.

Private Sub cmdAddTabla_Click(Index As Integer)
'PROCESO CREAR NUEVA TABLA
Set Base = OpenDatabase("Test.mdb")
sNueva_tabla = Text1(0).Text
'Crear la tabla en la BBDD
Base.Execute "Create table " & sNueva_tabla & " (campo_uno integer, campo_dos integer)"
Base.Close
MsgBox "Tabla creada con éxito", vbInformation, "Atencion"
End If
End Sub

Private Sub Form_Load()
'PROCESO MOSTRAR TABLAS
Set Base = OpenDatabase("Test.mdb")
For N = 0 To Base.TableDefs.Count - 1
If Base.TableDefs(N).Attributes = 0 Then
'Guardar en una variable el nombre de la tabla
sNombre_tabla = Base.TableDefs(N).Name
'Rellenar el combo con la variable anterior
Combo1.AddItem (sNombre_tabla)
End If
Next N
Base.Close
End Sub

solidsnake
20 de Enero del 2005
Pues si es asi , podrias hacer esto

en el form load

form load()
llenacombo()
end sub

llenacombo()
'PROCESO MOSTRAR TABLAS
Set Base = OpenDatabase("Test.mdb")
For N = 0 To Base.TableDefs.Count - 1
If Base.TableDefs(N).Attributes = 0 Then
'Guardar en una variable el nombre de la tabla
sNombre_tabla = Base.TableDefs(N).Name
'Rellenar el combo con la variable anterior
Combo1.AddItem (sNombre_tabla)
End If
Next N
Base.Close
End Sub


y cuando hagas un got focus o un click o change en el combo llamas ese procedimiento asi cada vez que cambies clikee o culauier evento se cargen los datos ahh en el llena combo debes limiar el combo
combo1.clear

por que si no cada vez se te llenara el combo con los mismos items

espero que te ayude saludos