Autore Topic: [Risolto] Caricare Record nelle combo  (Letto 473 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
[Risolto] Caricare Record nelle combo
« il: 14 Aprile 2020, 12:42:48 »
Ciao Raga

devo caricare dei dati nelle combo
Codice: [Seleziona]
sqlp = "select * from clienti order by id"
          MyRG = MODMain.MyConn.Exec(sqlp)
   
   MyRG.MoveFirst
     
   For ig = 1 To MyRG.Count
     
       Combobox1.add( MyRG!citta)
       
       Combobox2.add( MyRG!regione)

       Combobox3.add( MyRG!nazione)

      MyRG.MoveNext
   Next

come faccio ad evitare dati ripetuti, esempio nella combo1 se come citta ha gia caricato roma, quando trova un nuovo record con citta roma non deve ricaricarlo
dato che le combo sono 8 vorrei evitare un ciclo di controllo per ogni combo per vedere se il dato è già caricato.
esiste un modo più semplice per evitare i cicli?
« Ultima modifica: 15 Aprile 2020, 22:26:10 da dex »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.153
  • Tonno verde
    • Mostra profilo
Re:Caricare Record nelle combo
« Risposta #1 il: 14 Aprile 2020, 13:00:10 »
Forse non ho capito, ma non puoi usare SELECT DISTINCT valore che non voglio ripetuto, altro valore che non voglio ripetuto, ecc?

Non ho mai provato se funziona anche con * ...
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Caricare Record nelle combo
« Risposta #2 il: 14 Aprile 2020, 13:26:27 »
stavo valutando find
Ora provo fra FINd e DISTINCT quale risponde meglio alle mie esigenze

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Caricare Record nelle combo
« Risposta #3 il: 15 Aprile 2020, 22:25:47 »
Aggiornamento

alla fine ho optato per la query con DISTINCT.
dalle prove che ho fatto FIND era più veloce e con meno codice, ma, pensando alla lunga nel caso che il database si dovesse riempire con molti MB di dati, FIND avrebbe potuto rallentare il sistema.

Offline naderit

  • Grande Gambero
  • ***
  • Post: 140
    • Mostra profilo
Re:Caricare Record nelle combo
« Risposta #4 il: 15 Aprile 2020, 22:28:01 »
Ciao ero interessato alla soluzione e seguendo le indicazioni di Gianluigi si può risolvere in questo modo:
Codice: [Seleziona]
Dim MyRS As Result
Dim sql As String
  ComboBox1.Clear 

           sql = "SELECT DISTINCT nome FROM rubrica ORDER BY nome ASC"
           MyRS = MODMain.$conn.Exec(sql)
   
          If MyRS.Available = True Then   
       
                For Each MyRS                                 
                 
                  ComboBox1.Add(MyRS!nome)
                 
                Next
          Else                               
             
                  ComboBox1.Text = "Nessun dato"
          Endif
  Catch 
  Message.Error(Error.Text)   


ho utilizzato sql come database.
ciao
« Ultima modifica: 15 Aprile 2020, 22:29:49 da naderit »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:[Risolto] Caricare Record nelle combo
« Risposta #5 il: 15 Aprile 2020, 22:47:54 »
Ciao Naderit
si è la stessa soluzione che ho adottato io.