Título: eliminar registro Publicado por: corlo en 9 Noviembre 2021, 19:14 pm Hola soy corlo
estoy haciendo una mini aplicacion en añadir datos a los textbox , para luego leer los datos con el combo y una opcion para eliminar los datos. añadir los datos: lo hace bien leer los datos: lo hace bien eliminar los datos: elimina el dato en el combo pero no elimina los datos de los textbox no se que hago mal paso el codigo que tengo hasta ahora en un formulario Código: Option Explicit Private Sub Boton_añadir_Click() totalregistros = totalregistros + 1 If totalregistros > 50 Then MsgBox "lista completa", 16, "error" Else agenda(totalregistros).Nombre = Nom.Text agenda(totalregistros).apellidos = Ape.Text agenda(totalregistros).telefono = Tel.Text agenda(totalregistros).Edad = Val(Edad.Text) Combo2.AddItem Nom.Text End If Nom.SetFocus End Sub Private Sub Boton_eliminar_Click() Dim b As String b = MsgBox("Eliminar Registro:" + Nom.Text, 3 + 32, "Eliminar") If b = vbYes Then If Combo2.ListIndex <> -1 Then Combo2.RemoveItem (Combo2.ListIndex) End If totalregistros = totalregistros - 1 agenda(totalregistros).Nombre = Nom.Text agenda(totalregistros).apellidos = Ape.Text agenda(totalregistros).telefono = Tel.Text agenda(totalregistros).Edad = Val(Edad.Text) End If Nom.Text = "" Ape.Text = "" Tel.Text = "" Edad.Text = "" End Sub Private Sub Boton_fin_Click() End End Sub Private Sub Botonnuevo_Click() Nom.Text = "" Ape.Text = "" Tel.Text = "" Edad.Text = "" Nom.SetFocus End Sub Private Sub Combo2_Click() Dim n As Integer n = Combo2.ListIndex + 1 Nom.Text = agenda(n).Nombre Ape.Text = agenda(n).apellidos Tel.Text = agenda(n).telefono Edad.Text = Val(agenda(n).Edad) End Sub Private Sub Ape_GotFocus() Ape.SelStart = 0 Ape.SelLength = Len(Ape.Text) End Sub Private Sub Edad_GotFocus() Edad.SelStart = 0 Edad.SelLength = Len(Edad.Text) End Sub Private Sub Nom_GotFocus() Nom.SelStart = 0 Nom.SelLength = Len(Nom.Text) End Sub Private Sub Tel_GotFocus() Tel.SelStart = 0 Tel.SelLength = Len(Tel.Text) End Sub Private Sub Form_Load() totalregistros = 0 End Sub y en un modulo Código: Type registro Nombre As String * 15 apellidos As String * 25 telefono As String * 15 Edad As String * 3 End Type Global agenda(1 To 50) As registro Global totalregistros As Integer gracias Título: Re: eliminar registro Publicado por: Serapis en 10 Noviembre 2021, 23:23 pm En realidad, lo peor no es que no se borren los datos de los textbox (que no solo no importa si no que interesa conservarlo temporalmente)... lo peor es que no se borran de tu array.
Hay una variedad de indicaciones que dar y corregir... pero no quiero extenderme en explicaciones... porque son elementales y uno debiera ceñirse a ellos. Te pòngo un código que puedes remplazar por todo lo que tienes. nota que he renombrado los textbox y los botones a un valor más acorde y el boton 'nuevo', en realidad sobra, aún así su código todavía es válido. Nota también, que si no tienes más módulos de código donde uses esos registros de la agenda, el código en el módulo puede ser pasado al formulario (pero con alcance privado). Código
Ejecuta el código paso a paso al menos el del botón eliminar, para ver qué va sucediendo a cada instante... (arranca la aplicación con la tecla F8, o bien pon un punto de interrupción (tecla F9) en la línea del boton eliminar y cuando llegue allí se parará y entonces ejecuta paso a paso con la tecla F8). (http://imgfz.com/i/QHipF5x.png) Por favor, como ya llevas tiempo en el foro, acostumbra a colocar tu código entre etiquetas GESHI (elige VB), que aparecen en el editor cuando redactas tu mensaje... Título: Re: eliminar registro Publicado por: corlo en 11 Noviembre 2021, 00:04 am Hola Serapis
Muchas gracias por el codigo todo correcto lo he adaptado y funciona llevaba varios dias con el codigo y no me salia gracias. |