Visual Basic.NET - Navegar entre registros

 
Vista:
sin imagen de perfil

Navegar entre registros

Publicado por Javier (22 intervenciones) el 06/05/2015 19:52:16
Hola gente:

Alguno me podría decir qué estoy haciendo mal en este programa.

Estoy tratando de navegar entre registros en una tabla pero me da error en el punto donde lo puse abajo.

Saludos y gracias de antemano,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Imports System.Data.OleDb
 
Public Class Form1
    Public cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Solinme\Documents\Visual Studio 2013\Projects\SCRegueyra\SCRegueyra\BaseDeDatos\SCotizaciones.accdb")
    Public ds As DataSet
    Private da As OleDbDataAdapter
    Private iposicion As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ds As New DataSet
        Dim da As New OleDbDataAdapter("select * from SC_DetalleSolicitudCotizacion", cn)
        cn.Open()
        da.Fill(ds, "SC_DetalleSolicitudCotizacion")
        cn.Close()
        Me.iposicion = 0
        Me.cargardatos()
    End Sub
 
    Private Sub cargardatos()
        Dim drow As DataRow
        drow = Me.ds.Tables(0).Rows(Me.iposicion)  <<<<<<<Acá da el error
        Me.txtcodalu.Text = drow("C1")
        'Me.txtnomalu.Text = drow("nomalu")
        'Me.txtapelalu.Text = drow("apelalu")
        'Me.txtedadalu.Text = drow("edadalu")
        'Me.lblregistro.Text = "Registro" & Me.iposicion + 1 & " de " & Me.ds.Tables(0).Rows.Count
 
    End Sub
 
    Private Sub btnPrimero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrimero.Click
        Me.iposicion = 0
        Me.cargardatos()
 
    End Sub
 
    Private Sub btnanterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnanterior.Click
        If Me.iposicion = 0 Then
            MessageBox.Show("Primer  registro")
        Else
            Me.iposicion -= 1
            Me.cargardatos()
        End If
    End Sub
 
    Private Sub btnsiguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsiguiente.Click
        If Me.iposicion = Me.ds.Tables(0).Rows.Count - 1 Then
            MessageBox.Show("ultimo registro")
        Else
            Me.iposicion += 1
            Me.cargardatos()
        End If
    End Sub
 
    Private Sub Btnultimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnultimo.Click
        Me.iposicion = (Me.ds.Tables(0).Rows.Count - 1)
        Me.cargardatos()
    End Sub
End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Navegar entre registros

Publicado por giancarlo (488 intervenciones) el 07/05/2015 23:51:19
te haz fijado que la tabla tenga registros? Porque si le pones en posicion 0, eso quiere decir el primer registro, si no tiene ni uno, saldria error. Antes de cargar uno o este caso el primero, deberia comprobar que la tabla tenga registros.

Si muestras que error sales, podria ayudar mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar