Bueno te dejo un ejemplo de como trabajar con Arrays
Primero creas un Modulo llamado por ejemplo ModDatos
Código vb.net:
Ver originalPublic filacliente% = 0 ' Variable para Capturar el Ultimo Cliente Registrado
Public clientes(20, 5) As String ' Nuestro Array de Clientes pueden ser mas
Sub grabarclientes(ByVal cod$, ByVal nom$, ByVal ape$, ByVal dir$, ByVal tele$) ' Procedimiento para grabar en el array
clientes(filacliente, 0) = cod
clientes(filacliente, 1) = nom
clientes(filacliente, 2) = ape
clientes(filacliente, 3) = dir
clientes(filacliente, 4) = tele
End Sub
Bueno en tu Formulario digamos un mantenimiento
Código vb.net:
Ver original' Las Variables de tu formulario declaradas
Dim Pos% = 0 ' Variable para avanzar y retroceder en el Array
' Procedimiento para Mostrar los Registros del Array
Sub ver(ByVal p%)
If filacliente <= 0 Then
Me.lbregistro.Text = "Tabla Vacia"
' Aqui pondrias procedimiento para desactivar cajas botones etc
Else
Me.tbcod.Text = clientes(p, 0)
Me.tbnom.Text = clientes(p, 1)
Me.tbape.Text = clientes(p, 2)
Me.tbdir.Text = clientes(p, 3)
Me.tbtel.Text = clientes(p, 4)
Me.lbregistro.Text = "Registro-->" + (p
+ 1).ToString + "de-->" + Str(filacliente
) End If
End Sub
' En el Load de tu Formulario
Private Sub Manteclientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call ver(0)
End Sub
' Procedimiento para Guardar
Private Sub Btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Guardar.Click
' Los Nombres de tus textbox obviamente falta validar los campos
Call grabarclientes(Me.tbcod.Text, Me.tbnom.Text, Me.tbape.Text, Me.tbdir.Text, Me.tbtel.Text)
filacliente +=1
pos = 0
ver(pos) ' Mostrando el Primer Registro de Nuestro Array
end Sub
' Procedimiento para Modificar
Private Sub Btn_Modificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Modificar.Click
clientes(pos, 1) = Me.tbnom.Text
clientes(pos, 2) = Me.tbape.Text
clientes(pos, 3) = Me.tbdir.Text
clientes(pos, 4) = Me.tbtel.Text
pos = 0
ver(pos)
end Sub
' Procedimiento para Buscar
Private Sub Btn_Buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Buscar.Click
Dim codbuscar$
= InputBox("Ingrese codigo",
"BUSCAR") For x = 0 To filacliente - 1
If clientes
(x,
0) = Trim(UCase(codbuscar
)) Then Exit For Next
pos = x
ver(pos)
end Sub
' Procedimiento para Eliminar
Private Sub EliminarUno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarUno.Click
If MsgBox("Desea Eliminar realmente el registro..",
33,
"Eliminar") = 1 Then For x = pos To filacliente
For j = 0 To 4
clientes(x, j) = clientes(x + 1, j)
Next
Next
filacliente -= 1
pos = 0
ver(0)
Else
MsgBox("Registro no eliminado..",
16,
"Aviso") End If
End Sub
' Procedimiento para Eliminar todos los registros
Private Sub EliminarTodos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarTodos.Click
If MsgBox("Desea Eliminar realmente todos..",
33,
"Eliminar") = 1 Then filacliente = 0
ver(0)
Else
MsgBox("Registros no eliminados..",
16,
"Aviso") End If
End Sub
' Procedimiento para Ir al Primer Registro
private sub Primero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Primero.Click
Pos = 0
Ver(Pos)
end sub
' Procedimiento para Retroceder
private sub Anterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Anterior.Click
If pos > 0 Then
pos -= 1
ver(pos)
Else
MsgBox("Ya es el inicio de la tabla") End If
end sub
' Procedimiento para Avanzar
private sub Siguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Siguiente.Click
If pos < filacliente - 1 Then
pos += 1
ver(pos)
Else
MsgBox("ya es el final de la tabla") End If
end sub
' Procedimiento para Ir al Ultimo Registro
private sub Ultimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ultimo.Click
pos = filacliente - 1
ver(pos)
end sub
Espero que sea de utilidad para ti y a otros