QStradeIndicizzate
1. Crea una nuova query in visualizzazione struttura
2. Importa la tabella Strade
3. Trascini nell'ordine i campi IDStrada, StradaIndicizzato, StradaVisualizzato
4. Metti Ordinamento: Crescente su StradaIndicizzato
5. Salva con nome qStradeIndicizzate
qStradeVisualizzate
1. Crea una nuova query in visualizzazione struttura
2. Importa la tabella Strade
3. Trascini nell'ordine i campi IDStrada, StradaVisualizzato, StradaIndicizzato
4. Metti Ordinamento: Crescente su StradaVisualizzato
5. Salva con nome qStradeVisualizzate
La casella combinata IDStrada avrà le proprietà:
Numero colonne: 3
Larghezza colonne: 0 cm; 5 cm; 5 cm
Larghezza elenco: 10 cm
Origine riga: qStradeIndicizzate
Fin qui credo non ci siano problemi. L'utente deve digitare i primi caratteri della strada secondo le "regole" che dicevo prima (es. Cognome...).
Per "Largo di Palazzo" l'utente potrebbe digitare "di Palazzo" non trovando nulla. Però...come se mi aspetto che lui sappia che si tratta di Largo...e qualche cosa che non ricorda... A questo punto la qStradeIndicizzate non aiuta, forse è meglio servirsi della qStradeVisualizzate. Allora:
1. In visualizzazione struttura maschera aggiungi un pulsante che fa questo:
Private Sub NomePulsante_Click()
If Me!IDStrada.RowSource = "qStradeIndicizzate" Then
Me!IDStrada.RowSource = "qStradeVisualizzate"
Else
Me!IDStrada.RowSource = "qStradeIndicizzate"
End If
End Sub
2. Salva tutto
L'utente si accorge di essere in difficoltà, clicca sul Pulsante e cambia l'Origine della casella combinata facendo in modo che l'utente possa scrivere "Largo" ...e poi vedere tutto il resto.
Se l'utente vuole rivedere l'ordinamento strade precedente, gli basterà cliccare nuovamente sul Pulsante.
So di averti fornito una soluzione "meno dolorosa" dal punto di vista della programmazione. Per prevedere più casistiche di "indecisione utente", ossia proprio la possibilità di prelevare solo una "porzione" di stringa, occorre un ragionamento più complesso...che al momento (confesso) mi sfugge o non ci arrivo.