X-Received: by 10.129.168.7 with SMTP id f7mr60822295ywh.24.1470467191500; Sat, 06 Aug 2016 00:06:31 -0700 (PDT) X-Received: by 10.36.227.67 with SMTP id d64mr310587ith.3.1470467191452; Sat, 06 Aug 2016 00:06:31 -0700 (PDT) Path: csiph.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!j37no6976002qta.0!news-out.google.com!d130ni26189ith.0!nntp.google.com!f6no7750984ith.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: it.comp.lang.visual-basic Date: Sat, 6 Aug 2016 00:06:30 -0700 (PDT) In-Reply-To: <59fa5dbb-e875-4110-baf9-e3bff59c2089@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=87.8.126.100; posting-account=eitZdgoAAAC6C9CXmyhLNaQM3MgI3eZM NNTP-Posting-Host: 87.8.126.100 References: <59fa5dbb-e875-4110-baf9-e3bff59c2089@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: VB6 listview ricerca su due campi From: Luca D Injection-Date: Sat, 06 Aug 2016 07:06:31 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 2703 X-Received-Body-CRC: 2214261223 Xref: csiph.com it.comp.lang.visual-basic:18845 On Friday, August 5, 2016 at 9:33:06 PM UTC+2, gaetano cala wrote: > buongiorno sono un novello programmatore mi presento al gruppo > . > sto sperimentando la listview,esaminamdo il programma sui db di Carbone c= arlo. > in questo programma vi e' la ricerca di un campo(cognome) e quindi la evi= denziazione di un record di un db.mdb su di una listview=20 [CUT] > Volendo invece fare la ricerca con due campi (cognome e nome) come deve e= ssere trasformato il listato Supponendo che Cognome e Nome tu li abbia in due colonne separate del ListV= iew, e supponendo che "ricerca con due campi" tu intenda che vuoi cercare l= a combinazione dei due (ovvero scrivi in un unico textbox "gaetano cala" e = vuoi l'elemento corrispondente) e non la ricerca separata nei due campi, al= lora il metodo .FindItem non ti aiuta, e devi sostituirlo con un ciclo di c= onfronto fatto a mano. Quindi: - Ciclo FOR sulla collection lstADD.ListItems - Confronta la concatenazione dei valori nella colonna 'Cognome' e 'Nome' c= on la stringa desiderata - Se trovi corrispondenza, assegna sFound all'oggetto .ListItems() e da l=C3=AC procedi come da tuo codice. Visto che parli di DB, nota che in caso di tabelle particolarmente grandi, = questo tipo di ricerca fatta direttamente nei controlli dell'interfaccia ut= ente potrebbe non essere particolarmente efficente, e la soluzione migliore= =C3=A8 quella di far fare l'operazione al motore di database via query e p= oi usare il risultato per sincronizare la UI