Newsgroup: it.comp.lang.visual-basic
Titolo: Problema DATABASE, chi mi aiuta?

Salve,
ho creato un database dove con due pulsanti posso scorrere i vari record.
Poi cliccando sul pulsante "Cerca" mi si apre un nuovo form dove io devo
inserire
il cognome della persona per caricare poi tutti i dati relativi all'interno
del form principale.
E' proprio questo passaggio che non riesco a fare.
Come faccio, digitando il cognome di una persona presente nel mio database,
a mostrarne
tutti gli altri dati nei vari campi del database presente al form
Principale?
Grazie 1000 a chi mi aiuterą!
NICKZ

 wrote in message 98t0ic$ekp$1...@fe2.cs.interbusiness.it...

set DB=opendatabase(c:\db1.mdb)
set RS=DB.openrecordset("Tabella")
Usi questa tecnologia?
Ciao
Fabio


Principale?
Ok
:)) Supponi ch nel tuo db hai tante righe come questa qua sotto:
Mario    Rossi    32    M
     Lucia    Verde    29    F
     ....
......
Questo è quello che c'è nel tuo db, una lista di "persone" per le
quali prendi il nome, cognome, anni  e sesso...e questi ce l' hai,
scorrendo con i due bottoncini passi da un ad un altro.
Click sul pulsante
cerca...magiaa!! Un nuovo form :)) Metti il cognome e...non funzia niente
:) ALT!!
Esiste un linguaggio "stupido" chiamato SQL che ti permette di
interrogare un db, nel senso che puoi di fargli delle vere e proprie
domande!!
In questo caso, a te tornerebbe utile dire al database una cosa
del genere...wè db, io ti do un cognome, Rossi, dimmi un po tutti gli altri
dati associati al sig Rossi, se questo è presente in quella tabella che hai
li. Purtroppo questa interazione uomo/macchina ancora non esiste, così
qualcuno volenteroso, si è inventato un linguaggio che, te puoi usare per
fare domande ad un db, e quest' ultimo, guarda casa ti risponde pure!!
Nel
tuo caso, supponendo che nel tuo db esista una tabella chiamate persone,
quello che dovresti chiedere al db è una cosa del genere (usando l' sql):
SELECT * FROM PERSONE WHERE COGNOME = 'Rossi'
guarda come è semplice:
SELECT * : seleziona tutti i campi
   FROM PERSONE : dalla tabella
persone; perché quello che mi interessa è li dentro
   WHERE COGNOME =
'Rossi' : che fanno riferimento alla riga in cui il campo cognome è Rossi
Ora, abbiamo stabilito che il db questa cosa la capisce e lui in qualche
modo, che non ci interessa, riesce a prendere gli altri tre campi. Adesso
però dovrebbe dirti quello che ha trovato!!
Quando tu vai a fare la
spesa, per tenere le cose che prendi dai scaffali, usi un
carrello...cammini per i scaffali, vedi una cosa che ti piace e la lanci
nel carrello...questo non mi piace e lo lasci li, questo mi piace nel
carrello.
Ora, come il supermercato ti mette a disposizione un carrello
per portarti la roba in giro, fino a quando non carichi tutto nella tua
macchina, la libreria di accesso al database (dao, rdo, ado) ti mette a
disposizione un oggetto recordset che come un carrello puoi rimpiere di
quello che più ti piace. In più a differenza di un carrello della spesa,
questo è "elastico", prende cioè le dimensioni di quello che ci butti
dentro, e puoi portartelo fuori dal supermercato.
Adesso hai tutto
direi...sai in che modo parlare con un db, sai che lui ti regala un
carrello con quello che vuoi dentro...ti resta solo di prendere stò
carrello, caricarlo in macchina e una volta a casa sistemare tutto nei
scaffali giusti. Una volta che hai sistematu tutto...prendi il carrello e
lo lanci in strada...però!!! però, essendo noi ambientalisti, non lasciamo
un pezzo di ferro li, che se qualcuno passa ci si fa male, ma lo
distruggiamo, così a te non serve più e nessuno ci si può far male.
Tutto
questo, si può tradurre semplicemente come:
    do while not rs.eof
text1.text = rs("Nome")
        text2.text = rs("Cognome")
text3.text = rs("Anni")
        text1.text = rs("Eta")
rs.movenext
    loop
Ora do per scontato che hai già una connessione al
db, e che quindi hai scelto una libreria, diciamo essere ADO, quello che ho
scritto equale a:
    finchè nel carrello c'è qualcosa
        prendo e
metto la questa scatola qua
        prendo e metto questa scatola qui
prendo e metto questa scatola la
        prendo e metto questa scatola di
qua
        spulcia nel carrello e prendi altri pacchi
    ripeti da
capo
Questo è grossomodo quello che succede quandi usi un
recorset...condiera però che il recordset prende un record per volta,
quindi sarebbe stato più giusto dire...prendi questa scatola, la carta
mettila la, quello che c'è dentro qua e la sorpresa li....prendi un altra
scatola...
Detta a favoletta forse ti è più semplice capire...se hai
problemi dimmi...ciao ciao :))
Saluti...
--------------------------------
Inviato via 
http://usenet.iol.it