Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #1

    [VB.NET/2010] impedire inserimento duplicati da importazione excel

    Ciao a tutti!
    Sono nuovo del forum, quindi spero non dire o fare fesserie. In ogni caso vorrei sottoporvi una domanda su VB.net 2010. Come da titolo mi popolo una datagridview con il seguente codice:
    codice:
           OpenFileDialog1.Title = "Seleziona file Excel da importare"
            OpenFileDialog1.Multiselect = False
            OpenFileDialog1.Filter = "Formato xlsx (*.xlsx)|*.xlsx|Formato xls (*.xls)|*.xls"
            OpenFileDialog1.FilterIndex = 2
            OpenFileDialog1.FileName = ""
            OpenFileDialog1.ShowDialog()
    
            Dim FileName As String = OpenFileDialog1.FileName
            txtPath.Text = OpenFileDialog1.FileName
    
            'Dim nome As String
            'nome = IO.Path.GetFileName(FileName)
    
            Dim conn As String
            conn = "provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & txtPath.Text & ";Extended Properties=Excel 12.0;"
            Dim con As OleDbConnection = New OleDbConnection(conn)
            Dim da As OleDbDataAdapter = New OleDbDataAdapter()
            Dim cmd As OleDbCommand = New OleDbCommand()
            cmd.Connection = con
            cmd.CommandText = "SELECT * FROM [ProveVarietali$A:Y]"     
            da.SelectCommand = cmd
            Try
                da.Fill(ProveVarietali.ProveVarietaliDataSet, "ProveVarietali")
                MessageBox.Show("Importazione completata con successo!")
                ProveVarietali.ProveVarietaliDataGridView.DataSource = ProveVarietali.ProveVarietaliDataSet
                ProveVarietali.ProveVarietaliDataGridView.DataMember = "ProveVarietali"
                ProveVarietali.ProveVarietaliTableAdapter.Update(ProveVarietali.ProveVarietaliDataSet)
            Catch e1 As Exception
                MessageBox.Show("Importazione fallita!controllare le intestazioni del file sorgente!")
            End Try
    mediante il cambiamento di questa stringa di codice in:

    codice:
    cmd.CommandText = "SELECT * FROM [ProveVarietali$A:Y]"
    questo, decidendo quale colonna importare e che dati importare

    codice:
    cmd.CommandText = "SELECT colonna1 FROM [ProveVarietali$A:Y] WHERE (colonna1 between 0 and 9)"
    Qui però sorgono due domande:
    come posso impedire che non vengano importati da excel in DGW dati doppi per una determinata colonna? (quando trovato il dato semplicemente il codice dovrebbe non importare tutta la riga di excel). Ho provato con l'evento datagridview validating ma è successivo all'importazione io vorrei qualcosa che intervenisse in fase di importazione. E secondo, ma credo sia una domanda più stupida, e se volessi importare 2 colonne anziche 1 come faccio? così non funziona:

    codice:
    cmd.CommandText = "SELECT colonna1, colonna2 FROM [ProveVarietali$A:Y] WHERE (colonna1, colonna2 between 0 and 9)"
    grazie a tutti! spero possiate darmi degli spunti per sistemare il mio programmino.

    Ciao
    Ultima modifica di scolaretto; 04-10-2013 a 17:32

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.