Foros del Web » Programación para mayores de 30 ;) » .NET »

Error en llenado de tabla

Estas en el tema de Error en llenado de tabla en el foro de .NET en Foros del Web. amigos soy nuevo en net y estoti tratando de hacer un aplicativo pero tengo unos errors a ver si me ayudan a corregirlo tengo dos ...
  #1 (permalink)  
Antiguo 30/07/2013, 15:04
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 10 años, 8 meses
Puntos: 0
Error en llenado de tabla

amigos soy nuevo en net y estoti tratando de hacer un aplicativo pero tengo unos errors a ver si me ayudan a corregirlo

tengo dos datagridview cunado seleccione una linea del data grid se debe actualizar el otro datagridview, el asunto es que se muetra peor no muestra la data correcta
y ademas se va agregando el mismo registro

este es el codigo:
Código:
Imports System.Configuration
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO

Public Class Registro
    Dim nCnxRRHH As New SqlClient.SqlConnection("server=SRVDC01;database=RRHH;integrated security =FALSE;User ID=sa;Password=Chosica;")
    Dim dsBasedatos As New DataSet
    Dim cIdTrabajador As String = ""
    Dim cIddestaque As String = ""
    Dim nIdFicha As Integer
    Dim daAntecedentesPersonales As New SqlDataAdapter
    Private dtFicha As DataTable = dsBasedatos.Tables("Ficha_Medica")
    Private daFichas As New SqlDataAdapter
    Private drFila As DataRow
    Private cModulo As String
    Dim nContador As Integer
    Public cCmd As New SqlCommand

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim cSql1 As String
        Dim cSql2 As String
        Dim cSql3 As String
        Dim cSql4 As String
        Dim cSql5 As String

        cSql1 = " Select distinct nombre , s.Abreviada as Tipo_Documento , substring(t.idtrabajador,3,16) as Numero_Documento, t.idtrabajador ,d.Iddestaque"
        cSql2 = " from pL_Trabajadores T"
        cSql3 = " right  join pl_destaques d on d.idtrabajador = t.idTrabajador"
        cSql4 = " left join pl_sunat S on s.idTabla = '003' and s.codigo =left(t.idtrabajador,2)"
        cSql5 = " where d.fechacese is null "
        Dim daTrabajadores As New SqlDataAdapter(cSql1 & cSql2 & cSql3 & cSql4 & cSql5, nCnxRRHH)
        daTrabajadores.Fill(dsBasedatos, "Trabajadores")
        ' nCnxRRHH.Close()

        dgvTrabajadores.DataSource = dsBasedatos.Tables("Trabajadores")
        ' dgvTrabajadores.DataMember = "Trabajadores"
        ' Formato_Trabajadores()

    End Sub

    Sub Formato_Trabajadores()

        With dgvTrabajadores
            '            .RowsDefaultCellStyle.BackColor = Color.White
            '           .AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue ' Color.Coral
            'Color.AliceBlue
            .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(0).Width = 260 ' nombre
            .Columns(1).Width = 60  ' Documento
            .Columns(2).Width = 70  ' Numero

            .Columns(0).HeaderText = "Apellidos y Nombre"
            .Columns(1).HeaderText = "Documento"
            .Columns(2).HeaderText = "Numero"

        End With

    End Sub


    Sub Formato_Fichas()

        With dgvFichas
            '            .RowsDefaultCellStyle.BackColor = Color.White
            '           .AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue ' Color.Coral
            'Color.AliceBlue
            .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(0).Width = 50 ' nombre
            .Columns(1).Width = 147  ' Documento
            .Columns(2).Width = 70  ' Numero

            .Columns(0).HeaderText = "Ficha"
            .Columns(1).HeaderText = "Evaluacion"
            .Columns(2).HeaderText = "Fecha"

        End With

    End Sub



    Private Sub dgvTrabajadores_CellContentDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvTrabajadores.CellContentDoubleClick
        'Val Para la edicion 
        With dgvTrabajadores.CurrentRow
            cIdTrabajador = .Cells("idTrabajador").Value
            ' If IsDBNull(.Cells("idDestaque").Value) Then frmRegistro.txtIddestaque.Text = "" Else frmRegistro.txtIddestaque.Text = .Cells("iddestaque").Value
        End With


    End Sub

    Private Sub PictureBox2_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox2.MouseHover

        Me.PictureBox2.Location = New Point(313, 20)
        Me.PictureBox2.Size = New Size(520, 582)

    End Sub
    Private Sub PictureBox2_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox2.MouseLeave
        Me.PictureBox2.Location = New Point(549, 20)
        Me.PictureBox2.Size = New Size(284, 313)
    End Sub

    Private Sub Lista_Fichas()
        Dim cSql1 As String
        Dim cSql2 As String
        Dim cSql3 As String
        Dim cSql4 As String
        Dim cSql5 As String
        Dim cIdtrabajador As String
        Dim nFilas As Integer

        'Dim dtFicha As DataTable = dsBasedatos.Tables("Ficha_Medica")

        Try                    ' Set up structured error handling.
            cIdtrabajador = dsBasedatos.Tables("Trabajadores").Rows(dgvTrabajadores.CurrentCell.RowIndex).Item("IDtrabajador").ToString.Trim
        Catch ex As Exception     ' Catch the error.
            ' Beep()
            cIdtrabajador = ""
            MsgBox(ex.Message)
		' aca sale el error "Referencia a objeto no establecida como instancia de un objeto"
        Finally
            Beep()             ' This line is executed no matter what.
        End Try

        If dsBasedatos.Tables.CanRemove(dtFicha) Then
            dsBasedatos.Tables.Remove(dtFicha)

        End If
    
        ' carga la foto 
        If File.Exists("R:\fotos\" & cIdtrabajador.Trim & ".jpg") Then
            PictureBox2.Image = System.Drawing.Image.FromFile("R:\fotos\" & cIdtrabajador.Trim & ".jpg")
        Else

        End If
        PictureBox2.Show()
        If Len(cIdtrabajador) > 0 Then
            cSql1 = " SELECT idficha,TE.NOMBRE,FECHA "
            cSql2 = " FROM FICHA_MEDICA F "
            cSql3 = " LEFT JOIN SYS_DETALLEgENERAL TE ON TE.IDITEM = F.TIPO_EVALUACION AND IDGENERAL = '401' "
            cSql4 = " where f.idtrabajador = '" & cIdtrabajador & "'"
            cSql5 = " Order by Fecha DESC "
            cCmd = New SqlCommand(cSql1 & cSql2 & cSql3 & cSql4 & cSql5, nCnxRRHH)

            daFichas = New SqlDataAdapter   '(cSql1 & cSql2 & cSql3 & cSql4 & cSql5, nCnxRRHH)
            daFichas.SelectCommand = cCmd

            'Dim cbComando As New SqlCommandBuilder(daFichas)

            daFichas.Fill(dsBasedatos, "Ficha_Medica")
            ' nCnxRRHH.Close()


            dgvFichas.DataSource = dsBasedatos.Tables("Ficha_Medica")
            Formato_Fichas()

            'nFilas = dgvFichas.GetCellCount(DataGridViewElementStates.Selected)
            nFilas = dgvFichas.Rows.Count()
        Else
            nFilas = 0

        End If
        If nFilas > 0 Then

            With dgvFichas.CurrentRow
                'nIdFicha = .Cells("idfICHA").Value
                ' If IsDBNull(.Cells("ficha").Value) Then nidFicha = 0 Else nidFicha = .Cells("idficha").Value
                '   If IsDBNull(.Cells("idFicha").Value) Then lblidficha.Text = "" Else lblidficha.Text = .Cells("idFicha").Value
            End With
            Botones(True)
            'Me.ToolNuevo.Enabled = True
        Else
            nIdFicha = 0
            lblidficha.Text = Str(nIdFicha)
            Botones(True)
        End If

    End Sub

    Sub Botones(ByVal lAccion As Boolean)
        Me.ToolNuevo.Enabled = lAccion
        Me.ToolEditar.Enabled = lAccion
        Me.ToolEditar.Visible = lAccion
        Me.ToolGrabar.Enabled = Not lAccion
        Me.ToolGrabar.Visible = Not lAccion
        Me.ToolEliminar.Enabled = Not lAccion

    End Sub

    Private Sub dgvTrabajadores_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgvTrabajadores.CurrentCellChanged
        Lista_Fichas()
    End Sub


    Private Sub ToolNuevo_Click(sender As System.Object, e As System.EventArgs) Handles ToolNuevo.Click
        cModulo = "Nuevo"
        With dgvTrabajadores.CurrentRow
            cIdTrabajador = .Cells("idTrabajador").Value
        End With
        Me.txtDocumento.Text = Mid(cIdTrabajador, 1, 2) & "-" & Mid(cIdTrabajador, 3, 16)
        '
        Inserta_Nueva()
        '
        Cargar_Datos()
        Botones(True)
    End Sub

  


    Private Sub ToolSalir_Click(sender As System.Object, e As System.EventArgs) Handles ToolSalir.Click
        Close()
        Salud.barras(True)
    End Sub


    Private Sub ToolEditar_Click(sender As System.Object, e As System.EventArgs) Handles ToolEditar.Click
        cModulo = "Editar"

        ' nIdFicha = dsBasedatos.Tables("FICHA_MEDICA").Rows(0).Item(1)
        With dgvFichas.CurrentRow
            nIdFicha = .Cells("idfICHA").Value
            lblidficha.Text = .Cells("idFicha").Value.ToString.Trim
            ' If IsDBNull(.Cells("idDestaque").Value) Then frmRegistro.txtIddestaque.Text = "" Else frmRegistro.txtIddestaque.Text = .Cells("iddestaque").Value
        End With

        With dgvTrabajadores.CurrentRow
            cIdTrabajador = .Cells("idTrabajador").Value
            cIddestaque = .Cells("idDestaque").Value
        End With
        Botones(False)
        Cargar_Datos()


    End Sub
este es el formulario

Etiquetas: llenado, net, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:39.