Oppure

Loading
07/02/09 22:24
alexgiova1
CIAO A TUTTI,

sono alle prese con visual basic 2008

il mio intento è quello di far funzionare con un pulsante cerca di un nominativo in una rubrica telefonica collegata col database access.
nel datanase access cè una tabella con i campi nome , cognome, email.

diciamo che non riesco a trovare il codice corretto per fare una ricerca di un nuominativo.

mi serve un esempio il piu' semplice possibile.
confido in un vostro aiuto Grazzzie mille ciao by ALessandro
aaa
07/02/09 23:11
Thejuster
Basta eseguire un while sulla tabella interessata

guardando la tabella interessata
ti conti le colonne.
partendo dalla prima che vale zero.
se esempio il cognome è la seconda colonna
equivale al numero 1.

quindi.


sql = "SELECT * FROM nominativi"
cmd = New OleDbCommand(sql, Cn)
rs = cmd.ExecuteReader


dim nomedacercare as string = textbox1.text

while rs.read()


if rs.item(1) = nomedacercare Then

'nominativo trovato

end if


end while

Ultima modifica effettuata da Thejuster 07/02/09 23:12
mire.forumfree.it/ - Mire Engine
C# UI Designer
08/02/09 9:04
Il Totem
Oppure usare una query con già inclusa la condizione:
SELECT * FROM nominativi WHERE nome = '...'

Oppure puoi anche usare Linq se e solo se il database è collegato a un dataset:
Dim Nomi = From Riga As DataSet.Nominativi.RigaNomivativi In DataSet.Nominativi _ 
    Where Riga.Nome = "..." _
    Select Riga
aaa
08/02/09 13:03
alexgiova1
vi ringrazio per l'aiuto
ma non mi funziona


vi allego il file dela mia rubrica

mi interessava che come viene premuto il pusante cerca per cognome veniva una inpputbox che chidedeva inserisci il cognome da cercare. e dopoo visualizzava sulle 3 textbox i dati relativi al cognome.
aaa
08/02/09 22:37
Jeremy
Potresti usare il Filter del bindinsource e poi prelevarne i valori dei campi eseguendo un directcast sul Bindinsource.current in questo modo

bindingsourceRubrica.filter="Cognome='Rossi'"

tuatextboxnumerotelefono.text=directcast(bindingsourceRubrica.current,datarowview).Row("Telefono").tostring


Facci sapere..
Ciao
aaa
09/02/09 10:03
Gianluca87
DB access non li conosco molto..
cmq in teoria dovresti far fare la ricerca alla parte SQL il linguaggio è T-SQL quindi dovrebbe essere molto simile a SQL Server...

Definisci i parametri di ricerca ad esempio A,B per nome e cognome, poi costruisci la query in base alla selettività che vuoi dare alla tua ricerca LIKE cerca le stringhe che contengono quella determinata combinazione di caratteri...oppure un = per cercare la riga con il campo che corrisponde esattamente alla parola che hai inserito, fai attenzione se hai un database case sensitive

SELECT [Cognome], [Nome],ecc....
FROM [NomeTabella]
WHERE (nome LIKE A) OR (cognome LIKE B)



P.S: ti consiglio di sistemare cmq l'interfaccia con degli oggetti più comprensibili per gli utenti
magari un datagrid per visualizzare la lista dei nominativi
aaa
09/02/09 10:06
Gianluca87
Postato originariamente da Thejuster:

Basta eseguire un while sulla tabella interessata

guardando la tabella interessata
ti conti le colonne.
partendo dalla prima che vale zero.
se esempio il cognome è la seconda colonna
equivale al numero 1.

quindi.


sql = "SELECT * FROM nominativi"
cmd = New OleDbCommand(sql, Cn)
rs = cmd.ExecuteReader


dim nomedacercare as string = textbox1.text

while rs.read()


if rs.item(1) = nomedacercare Then

'nominativo trovato

end if


end while


non ha senso fare un while quando hai una funzione che scorre già tutte le righe a monte...
aaa