none
Excel y datagriview RRS feed

  • Pregunta

  • Hola espero pueda ayudarme , les comento mi problematica Tengo una base de datos en sql la cual se llena con un boton el cual lee un archive excel y llena la base de datos lo cual todo perfecto pero cada vez que da al boton y se carga el excel se duplican mis datos en sql , lo cual va hacienda mas grande la base de datos lo que quiero hacer es que no se dupliquen esos datos en la base atos este es el codigo donde export los datos

    Sub

    importarExcel(ByValtabla AsDataGridView)

           

    DimmyFileDialog AsNewOpenFileDialog()

           

    DimxSheet AsString= ""


           

    WithmyFileDialog

                .Filter =

    "Excel Files |*.xlsx"


                .Title =

    "Open File"


                .ShowDialog()

           

    EndWith


           

    IfmyFileDialog.FileName.ToString <> ""Then


               

    DimExcelFile AsString= myFileDialog.FileName.ToString

               

    Dimds AsNewDataSet

               

    Dimda AsOleDbDataAdapter

               

    Dimdt AsDataTable

               

    Dimconn AsOleDbConnection

                xSheet = InputBox(

    "Digite el nombre de la Hoja que desea importar", "Complete")

                conn =

    NewOleDbConnection(

                                 

    "Provider=Microsoft.ACE.OLEDB.12.0;"&

                                 

    "data source="& ExcelFile &  "; "&                           

    "Extended Properties='Excel 12.0 Xml;HDR=Yes'")          

    Try

                 da =  NewOleDbDataAdapter("SELECT * FROM  ["& xSheet & "$]", conn)

                    conn.Open()

                    da.Fill(ds,

    "MyData")

                    dt = ds.Tables(

    "MyData")

                    tabla.DataSource = ds

                    tabla.DataMember =

    "MyData"


               

    Catchex AsException

                    MsgBox(

    "Inserte un nombre valido de la Hoja que desea importar", MsgBoxStyle.Information, "Informacion")

               

    Finally


                    conn.Close()

               

    EndTry


           

    EndIf


            MsgBox(

    "Se ha cargado la importacion correctamente", MsgBoxStyle.Information, "Importado con exito")

       

    EndSub

    lunes, 18 de diciembre de 2017 15:02

Respuestas

  • Hola Darwin123456

    De acuerdo a lo que estás consultando, puedes desde SQL utilizar la sentencia Distinct, la cual te permite eliminar las filas duplicadas de una tabla en una base de datos. Te recomiendo que por favor revises, tus tablas o la tabla que quieras exportar a excel y verifiques que efectivamente tengas o no  tablas duplicadas y/o datos.

    Para más información sobre la sentencia Distinct, te recomiendo ir al siguiente enlace que te voy a compartir.

    https://technet.microsoft.com/es-es/library/ms187831(v=sql.105).aspx

    Quedamos atento de cualquier actualización de tu parte.

    Saludos Cordiales y felices fiestas. 

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta Pablo Rubio viernes, 22 de diciembre de 2017 22:58
    martes, 19 de diciembre de 2017 17:24