Newsgroup: it.comp.appl.access
Titolo: Ricerca in una casella combo

Ciao mi chiamo Cristiano,
premetto che ho guardato sul sito comune ma non ho trovato risposta alla
domanda che sto per fare.
Sto costruendo una applicazione Access per la gestione degli ordini. Sulla
riga dell'ordine devo scegliere il prodotto attraverso una casella combo che
parte dalla tabella 'prodotti'. Viene visualizzato sia il codice del
prodotto che la descrizione ma viene memorizzato solo il codice,
naturalmente. Io vorrei sapere se è possibile effettuare ricerche
all'interno di questa casella, cioè se mi ricordo una parte della
descrizione (che non è detto che sia l'inizio) posso ritrovare il prodotto?
Ho provato con il 'trova' ma mi effettua una ricerca nella maschera e non
nella casella.
E' possibile ? Se si come? (se si tratta di VB sono all'inizio, vi prego di
spiegarmelo per esteso)
Grazie per l'attenzione.
Cristiano

 ha scritto nel messaggio
news:UACz6.4042$k53....@news1.tin.it...

La ricerca si fa all'interno di un recordset (tabella prodotti in questo
caso) e non di una casella combinata.
Se la stringa digitata non è quella iniziale della descrizione prodotto,
penso che con una casella combinata non si possa fare.
Puoi però digitare la stringa in una casella di testo non associata; a
fronte dell'evento "Dopo aggiornamento" della casella di testo fatti
restituire da una funzione DLookup l'ID del record della tabella prodotti
che contiene nella descrizione la tua stringa e passalo alla casella
combinata; esegui quindi il requery della combo.
Naturalmente la DLookup deve avere come dominio la tabella prodotti e deve
usare nei criteri la funzione Like; se la casella di testo si chiama Pluto e
la casella combinata si chiama Combo, devi scrivere un codice VBA del
genere:
Private Sub Pluto_AfterUpdate()
Me!Pluto = "*" & Me!Pluto & "*"
Me!Combo = DLookup("[IDProdotto]", "tblProdotti", "DescrProd Like " &
Chr$(34) & Pluto & Chr$(34))
Me!Combo.Requery
End Sub
Se però più di un prodotto contiene nella descrizione la stringa digitata in
Pluto, la DLookup ti restituirà l'ID a caso di uno di questi prodotti; se
invece nessuna descrizione contiene la stringa digitata, la DLookup ti
restituirà il valore Null che ritroverai nella Combo.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

> Ciao mi chiamo Cristiano,
..........
[cut]

Prima di tutto ho impiegato così tanto a risponderti perché non essendo
molto pratico ho fatto fatica a capire tutto quello che mi hai proposto.
Grazie per l'idea, ho provato ma non è quello che mi serviva. Però sei stato
preziosissimo perché mi hai dato l'idea giusta.
Nella mia maschera "Prodotti" ho inserito un bottone che mi apre una
sottomaschera dove sono presenti tutti i miei prodotti. Qui scelgo e poi con
un bottone il mio campo scelto passa alla macera di partenza.
A questo punto mi sorge un altro problema per il quale chiedo ancora un
suggerimento:
essendo la maschera "Prodotti" a 'maschere continue' il valore scelto mi
viene inserito su tutte le righe e non solo su quella da cui nasce la
richiesta che è quella in cui premo il bottone d'apertura. Come posso fare
ad indirizzare il mio valore solo su quel determinato record???
Grazie ancora per l'aiuto datomi e per quello che mi vorrai dare.
Cristiano


--
