No siempre actualiza la BD
Publicado por Krator (71 intervenciones) el 12/09/2005 12:38:02
Hola, me voy a volver loco con este problema.
Tengo un formulario tipico de relleno de datos, este tiene un combo relleno por otro formulario.Imaginaos, una factura tiene sus clientes...pero ¿y si el cliente aun no existe? Bueno, tengo un botoncito para llamar al otro formulario, agrege, borre o lo que quiera y vuelva. Entonces actualizo el combo de "clientes". El problema viene, que no siempre en el combo aparece el que acabo de añadir, he buscado pauta...pero no la he encontrado. Bueno, os detallo algo del codigo por si os sirve.
Esta es mi conexion de la BD, está en 1 modulo que se carga al iniciar el programa.
cadenaConexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\moviles.mdb;Persist Security Info=False"
En el formulario la llamo así:
dim db as connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open cadenaConexion
Así cargo el recordset:
Set rsMoviles = New Recordset
rsMoviles.Open "select * from moviles", db, adOpenStatic, adLockOptimistic
Este es el boton que llama al otro formulario:
Private Sub cmdModelos_Click()
Dim f As New frmModelosMov
Me.Hide
f.Show 1
rsMoviles.Requery
rsMoviles.MoveFirst
Call cargarCmbMovil
Me.Show
End Sub
Y esta la funcion que carga el combo:
Private Sub cargarCmbMovil()
Dim rsMov As Recordset
Set rsMov = New Recordset
rsMov.Open "select * from moviles", db, adOpenStatic, adLockOptimistic
rsMov.MoveFirst
cmbMoviles.Clear
Do Until rsMov.EOF
cmbMoviles.AddItem rsMov("Nombre_Movil")
cmbMoviles.ItemData(cmbMoviles.NewIndex) = rsMov("Id_movil")
rsMov.MoveNext
Loop
cmbMoviles.Refresh
Set rsMov = Nothing
End Sub
Otros eventos relacionados con el combo:
Private Sub cmbMoviles_Click()
If cmbMoviles.ListIndex <> -1 Then
txtModelo.Text = cmbMoviles.ItemData(cmbMoviles.ListIndex)
End If
End Sub
Private Sub cmbMoviles_GotFocus()
Call cargarCmbMovil
End Sub
A ver quien me ayuda.
Tengo un formulario tipico de relleno de datos, este tiene un combo relleno por otro formulario.Imaginaos, una factura tiene sus clientes...pero ¿y si el cliente aun no existe? Bueno, tengo un botoncito para llamar al otro formulario, agrege, borre o lo que quiera y vuelva. Entonces actualizo el combo de "clientes". El problema viene, que no siempre en el combo aparece el que acabo de añadir, he buscado pauta...pero no la he encontrado. Bueno, os detallo algo del codigo por si os sirve.
Esta es mi conexion de la BD, está en 1 modulo que se carga al iniciar el programa.
cadenaConexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\moviles.mdb;Persist Security Info=False"
En el formulario la llamo así:
dim db as connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open cadenaConexion
Así cargo el recordset:
Set rsMoviles = New Recordset
rsMoviles.Open "select * from moviles", db, adOpenStatic, adLockOptimistic
Este es el boton que llama al otro formulario:
Private Sub cmdModelos_Click()
Dim f As New frmModelosMov
Me.Hide
f.Show 1
rsMoviles.Requery
rsMoviles.MoveFirst
Call cargarCmbMovil
Me.Show
End Sub
Y esta la funcion que carga el combo:
Private Sub cargarCmbMovil()
Dim rsMov As Recordset
Set rsMov = New Recordset
rsMov.Open "select * from moviles", db, adOpenStatic, adLockOptimistic
rsMov.MoveFirst
cmbMoviles.Clear
Do Until rsMov.EOF
cmbMoviles.AddItem rsMov("Nombre_Movil")
cmbMoviles.ItemData(cmbMoviles.NewIndex) = rsMov("Id_movil")
rsMov.MoveNext
Loop
cmbMoviles.Refresh
Set rsMov = Nothing
End Sub
Otros eventos relacionados con el combo:
Private Sub cmbMoviles_Click()
If cmbMoviles.ListIndex <> -1 Then
txtModelo.Text = cmbMoviles.ItemData(cmbMoviles.ListIndex)
End If
End Sub
Private Sub cmbMoviles_GotFocus()
Call cargarCmbMovil
End Sub
A ver quien me ayuda.
Valora esta pregunta
0