Problema al modificar un registro de una base de datos
Tengo el siguiente código para modificar un registro
Private Sub CommandButton5_Click()
'botón de modificar, los datos del ejercicio seleccionado, sobre la misma fila
Dim fila As Integer
Dim Ffinal As Integer
Dim i As String
For fila = 4 To 2000
If Sheets("BaseDatosEjercicios").Cells(fila, 7) = Empty Then
Ffinal = fila - 1 'restamos 1 porque queremos modificar, no añadir
Exit For
End If
Next
For fila = 4 To Ffinal
If cmbBuscador.text = Sheets("BaseDatosEjercicios").Cells(fila, 7) Then
Cells(fila, 1) = TextBox1.Text
Cells(fila, 2) = TextBox2.Text
Cells(fila, 3) = TextBox3.Text
Cells(fila, 4) = TextBox4.Text
Cells(fila, 5) = TextBox5.Text
Cells(fila, 6) = TextBox6.Text
Cells(fila, 7) = TextBox7.Text
Cells(fila, 8) = TextBox8.Text
Cells(fila, 9) = TextBox9.Text
Cells(fila, 10) = TextBox10.Text
Cells(fila, 11) = TextBox11.Text
Cells(fila, 12) = TextBox12.Text
Cells(fila, 13) = TextBox13.Text
Dim res
res = MsgBox("Ha modificado la imagen?", vbQuestion + vbYesNo, "IMAGEN")
If res = vbYes Then
Cells(fila, 14) = RutaImagen
Else
Cells(fila, 14) = txtNombreImagen
End If
MsgBox "El ejercicio se ha modificado con éxito", vbInformation + vbOKOnly, "MODIFICAR EJERCICIO"
txtImagen.Picture = LoadPicture("") 'borramos la ultima imagen seleccionada
Call ComboBoxEjercicio 'actualiza la lista total de ejercicios
Call ordenarBDejercicio 'ordena la base de datos
Call nuevocódigo 'genera nuevo código de registros
CommandButton2.Enabled = True 'Activa el botón de guardar
Exit For
End If
Next
End SubEl problema es que sólo modifica datos hasta el textbox7 (el nombre), lo pasa correctamente a la hoja y al buscarlo de nuevo salen los datos con la modificación. Pero desde el textbox8 en adelante si modifico o añado algun dato en dichos textbox, no se guardan. Desconozco el motivo.
Antes funcionaba bien pero hice una modificación en el ComboBoxEjercicio (lo utilizo para actualizar la lista de ejercicios del buscador) pasando del código
Private Sub ComboBoxEjercicio()
'Sirve para que aparezca una lista con todos los ejercicios en cmbBuscador
trows = Worksheets("BaseDatosEjercicios").Range("A1").CurrentRegion.Rows.Count
cmbBuscador.Clear 'se borra la lista de ejercicios
For i = 4 To trows
cmbBuscador.AddItem Worksheets("BaseDatosEjercicios").Cells(i, 7).Value 'Se carga la lista de ejercicios
Next i
End SubAl siguiente código
Private Sub ComboBoxEjercicio() 'Sirve para que aparezca una lista con todos los ejercicios en cmbBuscador cmbBuscador = "" Me.cmbBuscador.RowSource = "ListaEjercicios" End Sub
La modificación la hice con el fin de buscar el dato con la condición del tipo de ejercicio y agilizar tiempo de búsqueda pero me daba problemas en el "call ComboBoxEjercicio"
ss
En fin, tras todas las modificaciones, funciona todo perfecto excepto por ese detalle del boton modificar y tras horas dandole vueltas no se cual es la solución.