Newsgroup: it.comp.lang.visual-basic
Titolo: problema di ordinamento campi in una query

c'ho una query con dei valori tipo: data-ora-nome-cognome.
imposto un ordinamento del tipo: nome crescente seguito da cognome decrescente seguito da data crescente seguito da ora decrescente.
per far questo non ci sono problemi. è solo un esempio.
il problema è che per effettuare questo tipo di ordinamento ho deciso di utilizzare delle combo box
in ogni combo box ho inserito i varii campi da ordinare e sotto a ciascuna combo box ne ho inserita un'altra con 2 valori: crescente
e decrescente.
spero di essere stato chiaro nella panoramica.
il codice funziona. l'ordinamento viene effettuato secondo le mie scelte sulle combo box.
posso creare ordinamenti tipo quello che ho scritto qua sopra.
dove sta il problema allora?
il problema è che posso selezionare su tutte le combo box un ordinamento x cognome (ad esempio) e questo è MALE perchè non è
possibile ordinare 2 volte lo stesso campo.
qualche suggerimento per un controllo non troppo invasivo ed efficace per impedire di selezionare 2 voci identiche sulle combo?
ho pensato anche che non sarebbe brutto semplicemente impedire di effettuare l'ordinamento se almeno 2 combo sono uguali.
accetto suggerimenti.
--
ps: per il post della seriale non c'è nessuno che sa qualcosa?

 per impedire di selezionare 2 voci identiche sulle combo?
uhm... ogni volta che viene selezionato un valore in una combo ricostruisci
l'elenco delle opzioni delle combo medesime, escludendo quelli selezionati.
se metti tutte le combo in un array di controlli non dovresti neanche
scrivere una quantità eccessiva di codice.
oppure semplicemente ignori i doppioni...
--
Salutoni
Sergio

 scrivere una quantità eccessiva di codice.
a pensarci potrei utilizzare una sola combo che si sposta sopra a delle label.
mi spiego:
-ho una combo
seleziono la prima voce della combo e questa si sposta sopra la seconda label lasciando la prima label con il suo valore.
mentre avviene questo spostamento della combo, la ricarico togliendo il valore presente sulla label1(0) (e sulle altre label.. che
ancora non hanno niente)
per modificare il valore su una label come fare?
clicco sulla label stessa e la combo si posiziona su quella label ricaricandosi nuovamente senza i valori presenti nelle label
circostanti e impostandosi automaticamente sul valore della label sulla quale si trova.
--
perchè tutto questo?
perchè qualche tempo fa ho letto qualcosa di analogo nell'utilizzo dei campi di testo. E' un metodo per occupare un numero minore di
risorse.
M'è venuto in mente.
--
bonbon.. ora che ho già le mie combo funzionanti mi sa che mi conviene semplicemente effettuare un controllo sul testo che mi
mostrano e verificare che non ci siano 2 testi identici ed ho risolto.
comunque se a qualcuno piace la mia idea :o) (mia? ..come ho detto sta nell'help di vb6 parlando però di campi di testo e modi per
risparmiare risorse)

alla fine ho fatto cosě:
Sub controllaDoppieCombo(miaCombo As Integer)
    Dim iC As Integer
    Contro = 0
    For iC = 0 To 4
        If iC = miaCombo Then GoTo saltaciclo
        If Combo2(iC).Text = Combo2(miaCombo).Text Then
            Contro = 1
            Exit Sub
        End If
saltaciclo:
    Next iC
End Sub
Private Sub Combo2_Click(Index As Integer)
    controllaDoppieCombo (Index)
    If Contro = 1 Then
        Combo2(Index).ListIndex = 0
    End If
End Sub