Arrays dinámicos

Hola, me podrías decir como hacer los botones de primero, ultimo siguiente, anterior, en un registro con arrays dinámicos, te doy un ejemplo, para el botón primero con esta sentencia se mueve el registro Pues = LBound(MReg), donde pues es una variable de tipo integer, esto esta dentro de un commandbutton, si me podrías responder, si es posible mañana mismo. Te lo agradecería mucho.

1 respuesta

Respuesta
1
Te paso el código de cada botón
BotonPrimero:
Pos = LBound(Mreg)
BotonAnterior:
If Pos = LBound(Mreg) Then Exit Sub
Pos = Pos - 1
BotonSiguiente:
If Pos = LBound(Mreg) Then Exit Sub
Pos = Pos + 1
BotonUltimo
Pos = UBound(Mreg)
Hola leosoft aquí te envío el código para que veas:
Este es el código de mi formulario
Private Sub cmdGrabar_Click()
Static fila As Integer
ReDim Preserve MReg(fila)
MReg(fila).nombres = txtdatos(0)
MReg(fila).apellidos = txtdatos(1)
MReg(fila).dni = txtdatos(2)
MReg(fila).telefono = txtdatos(3)
MReg(fila).direccion = txtdatos(4)
fila = fila + 1
For i = 0 To 4
txtdatos(i) = ""
Next i
txtdatos(0).SetFocus
End Sub
Private Sub cmdMove_Click(Index As Integer)
Dim Pos As Integer
Select Case Index
Case 0: Pos = LBound(MReg)
Case 1: 'If Pos = LBound(MReg) Then Exit Sub
Pos = Pos - 1
Case 2: 'If Pos = LBound(MReg) Then Exit Sub
Pos = Pos + 1
Case 3: Pos = UBound(MReg)
End Select
txtdatos(0).Text = MReg(Pos).nombres
txtdatos(1).Text = MReg(Pos).apellidos
txtdatos(2).Text = MReg(Pos).dni
txtdatos(3).Text = MReg(Pos).telefono
txtdatos(4).Text = MReg(Pos).direccion
End Sub
Private Sub cmdSalir_Click()
Unload Me
End Sub
ESTE ES EL CODIGO DEL MODULO:
Type MiDato
nombres As String * 25
apellidos As String * 30
dni As String * 15
telefono As String * 10
direccion As String * 50
End Type
Public MReg() As MiDato
El problema esta en los botones de siguiente y anterior,
Te lo agradecería mucho.
El problema es que la variable Pues la tienes como local, fíjate de poner
Dim Pos As Integer
En el prcedimiento general del formulario.
El código para los botones siguiente y anterior son así:
Case 1:
If Pos = LBound(MReg) Then Exit Sub
Pos = Pos - 1
Case 2:
If Pos = LBound(MReg) Then Exit Sub
Pos = Pos + 1
Los If Pos = bla bla bla, hacen que la variable Pos no este fuera de los limites de array.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas