Está en la página 1de 3

Public Class FrProfe '******* Private dt As DataTable Private da As OleDb.

OleDbDataAdapter Private fila As Integer '******* Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub Private Sub FrProfe_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim TxtBase As String TxtBase = "d:\bd\alumnos.mdb" Try If System.IO.File.Exists(TxtBase) = False Then MessageBox.Show("No existe la base de datos indicada") Exit Sub End If Catch ex As Exception MessageBox.Show("ERROR: " & ex.Message & vbCrLf & "Seguramente porque no existe la base de datos") Exit Sub End Try '*************************************************** ' La cadena Dim sCnn As ' La cadena Dim sSel As de conexin String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & TxtBase de seleccin String = "SELECT * FROM Alumnos ORDER BY CodiAlumno"

'************ ' Crear un nuevo objeto del tipo DataAdapter da = New OleDb.OleDbDataAdapter(sSel, sCnn) ' Crear los comandos de insertar, actualizar y eliminar Dim cb As New OleDb.OleDbCommandBuilder(da) ' Esta base de datos usa el ID con valores automticos da.MissingSchemaAction = MissingSchemaAction.AddWithKey ' dt = New DataTable ' Llenar la tabla con los datos indicados da.Fill(dt) Me.GB01.Text = "Conexin realizada" ' Y mostrar el primer registro If dt.Rows.Count > 0 Then btsigu_Click(Nothing, Nothing) Else fila = -1 BtAct.Enabled = True End If ' Mostrar los datos de la fila indicada mostrarDatos(fila) End Sub Private Sub asignarDatos(ByVal dr As DataRow) ' Usar los datos que hay en los textbox dr(1) = TB02.Text dr(2) = TB03.Text

dr(3) = TB04.Text dr(4) = TB05.Text dr(5) = TB06.Text dr(6) = TB07.Text End Sub Private Sub mostrarDatos(ByVal f As Integer) Dim uf As Integer = dt.Rows.Count - 1 If f < 0 OrElse uf < 0 Then Exit Sub Dim dr As DataRow = dt.Rows(f) TB01.Text = dr(0).ToString TB02.Text = dr(1).ToString TB03.Text = dr(2).ToString TB04.Text = dr(3).ToString TB05.Text = dr(4).ToString TB06.Text = dr(5).ToString TB07.Text = dr(6).ToString BtAct.Enabled = True End Sub Private Sub Btsigu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btsigu.Click ' Posicionarse en la fila siguiente Dim uf As Integer = dt.Rows.Count - 1 fila = fila + 1 If fila > uf Then fila = uf ' Mostrar los datos de la fila indicada mostrarDatos(fila) End Sub Private Sub Btnue_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnue.Click ' Crear un nuevo registro Dim dr As DataRow = dt.NewRow() ' Asignar los datos de los textbox a la fila asignarDatos(dr) ' Aadir la nueva fila a la tabla dt.Rows.Add(dr) ' Guardar fsicamente los datos en la base Try da.Update(dt) dt.AcceptChanges() ' Si es el primer registro de la base, ' volver a leer los datos para actualizar los IDs If CInt("0" & dr(0)) = 0 Then dt = New DataTable da.Fill(dt) End If ' Posicionarlo en la ltima fila BtUlt_Click(Nothing, Nothing) Catch ex As DBConcurrencyException MsgBox("Error de concurrencia:" & vbCrLf & ex.Message) Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub BtUlt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtUlt.Click ' Posicionarse en la ltima fila fila = dt.Rows.Count - 1

' Mostrar los datos de la fila indicada mostrarDatos(fila) End Sub Private Sub BtPri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtPri.Click ' Posicionarse en la primera fila fila = 0 ' Mostrar los datos de la fila indicada mostrarDatos(fila) End Sub Private Sub BtAnt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtAnt.Click fila = fila - 1 If fila < 0 Then fila = 0 ' Mostrar los datos de la fila indicada mostrarDatos(fila) End Sub Private Sub BtAct_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtAct.Click If fila < 0 OrElse fila > dt.Rows.Count - 1 Then Exit Sub Dim dr As DataRow = dt.Rows(fila) ' Asignar los datos de los textbox a la fila asignarDatos(dr) ' Guardar fsicamente los datos en la base Try da.Update(dt) dt.AcceptChanges() Catch ex As DBConcurrencyException MessageBox.Show("Error de concurrencia:" & vbCrLf & ex.Message) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub End Class

También podría gustarte