none
COMO LEER TODA UNA TABLA EN ACCESS Y GRABAR ALGUNOS DATOS EN OTRA TABLA USANDO VISUAL BASIC NET RRS feed

  • Pregunta

  • Necesito leer los registros de una tabla y por cada uno hago unos cálculos y los debo grabar en otra tabla access, pero solo me graba el primer registro leído, necesito leerlos todos y grabarlos todos previo a cálculos para grabar. este es el código, por favor si tiene alguna falla de sintaxis o código les agradezco me orienten, no soy experto en este lenguaje. Agradecido.

    Try
                'Tabla de Registros Maestros, Clave= Código de Apto  (Leer toda la tabla)
                leo = "select * FROM Reg_Propietarios order by Nroinmueble"
                adaptador = New OleDb.OleDbDataAdapter(leo, conexion)
                registro = New DataSet
                ' lector = cmd.ExecuteReader ' lector conectado con lector del escritor
                adaptador.Fill(registro, "Reg_Propietarios")

                'MOVER A VARIABLES PARA GRABAR EN (PAGOD_PEND)
                ' adaptador.Fill(registro, "Reg_Propietarios")
                lista = registro.Tables("Reg_Propietarios").Rows.Count
                wtotpagmant = registro.Tables("Reg_Propietarios").Rows(0).Item("totpagmant")
                apto = registro.Tables("Reg_Propietarios").Rows(0).Item("Nroinmueble")
                Fechae = registro.Tables("Reg_Propietarios").Rows(0).Item("Fecha")
                leidos = leidos + 1
                lector2 = lector2 + 1

                '   Do While lector.Read

                registro.Tables.Add("Pagos_Pend")
                'GRABAR REGISTROS CUOTA MANTENIMIENTO MENSUAL
                grabo = " insert into Pagos_Pend(Nro_InmuebleP,Fecha_Proc,Fecha_Mant,Pago_Mant,Int_Pago_Mant,Pago_Total) values (@Nro_InmuebleP,@Fecha_Proc,@Fecha_Mant,@Pago_Mant,@Int_Pago_Mant,@Pago_Total) "
                Fecham = DateTime.Now.ToString("dd/MM/yyyy")
                ' Fechae = DateTime.Now.ToString("dd/MM/yyyy")
                Dim cmd2 As New OleDb.OleDbCommand(grabo, conexion)
                'CALCULO DE MONTOS DE PAGO PARA PAGO MANTENIMIENTO 
                porcent = 7
                wtotpagmant2 = wtotpagmant.ToString("##.00")    ' ENMASCARAR EL MONTO DE MANTENIMIENTO MENSUAL
                calculo = (wtotpagmant * porcent) / 100    ' CALCULO INTERES
                calculo2 = calculo.ToString("##.00")        ' ENMASCARAR MONTO
                wtotgeneral = calculo2.ToString("##.00") + wtotpagmant   ' SUMAR MONTO INTERES CON EL DE MANTENIMIENTO
                wtotgeneral2 = wtotgeneral.ToString("##.00")       ' ENMASCARAR MONTO TOTAL A PAGAR

                'MOVER REGISTROS A LA TABLA (PAGOS_PEND)
                cmd2.Parameters.AddWithValue("@Nro_InmuebleP", apto)
                cmd2.Parameters.AddWithValue("@Fecha_Proc", Fecham)
                cmd2.Parameters.AddWithValue("@Fecha_Mant", Fechae)
                cmd2.Parameters.AddWithValue("@Pago_Mant", wtotpagmant2)
                cmd2.Parameters.AddWithValue("@Int_Pago_Mant", calculo2)
                cmd2.Parameters.AddWithValue("@Pago_Total", wtotgeneral2)
                cmd2.Parameters.AddWithValue("@Estatus_Pago", True)
                grabados = grabados + 1
                cmd2.ExecuteNonQuery()

                MsgBox("Registros Grabados con Exito", vbCritical, "Carga Masiva")
            Catch ex As System.IO.IOException
                MsgBox("Registros No Grabados", vbCritical, "Carga Masiva")

            End Try

    jueves, 9 de noviembre de 2017 15:02