19/05/09 17:55
satriano
Buonasera
Scusate il titolo strano del topic ma non ho saputo fare meglio.
Ho una piccola database access con i 2 campi:
VALORE (numerico)
TESTO (text)
Ho un centinaio di records.
Su un form ho:
un controllo DATA collegato al database tramite databasename
Text1.text collegato al field WAARDE del database
TEXT2.text collegato al field TESTO del database.
La mia domanda é:
E’ possibile, inserendo manualmente nel text1.text un valore, per esempio 25
far visualizzare automaticamente il contenuto del field TESTO in text2.text del record corrispondente?
Se si, con quale sintassi da scrivere per Text1.text ?
Grazie infinite
satriano
Ultima modifica effettuata da satriano 19/05/09 17:57
aaa
19/05/09 18:20
marco_grillo
Buonasera...
a prescindere dal fatto che non capisco il field WAARDE del database passiamo al codice.
Ipotizziamo che inserendo un valore nella text1 premiamo un bottone per avviare la ricerca:
sottointendiamo la parte di accesso al database
Private Sub Command1_Click()
While rs.EOF = False
If rs("WAARDE").Value = val(text1.text) Then
text2.text=rs("TESTO").value
end if
rs.MoveNext
Wend
End Sub
Ovviamente avrai problemi nella visualizzazione del contenuto di text2.text se qualora nel campo WAARDE avessi uguale il contenuto di text1.text. Per farti un esempio:
Se nel tuo database hai i seguenti valori:
WAARDE: 25 TESTO: prova 1
WAARDE: 13 TESTO: prova 2
WAARDE: 25 TESTO: prova 3
e se cerchi il valore 25 nella text2 avrai come valore prova 3, cioè l ultimo valore dei record che hai nel database. Io ti consiglio per evitare ciò di sostituire la seconda textbox con una listbox, avendo kos l'elenco completo di tutti i tuoi valori corrispondenti al paramento di ricerca.
Il codice nel caso in cui volessi utilizzare la listbox è:
Private Sub Command1_Click()
While rs.EOF = False
If rs("WAARDE").Value = val(text1.text) Then
list1.additem rs("TESTO").value
end if
rs.MoveNext
Wend
End Sub
Beh... spero d essere stato chiaro ma ovviamente per qualsiasi dubbio non esitarmi nel chiedere spiegazioni.. a presto, ciao
Ultima modifica effettuata da marco_grillo 19/05/09 18:21
aaa
19/05/09 18:31
satriano
Ciao marco grillo
Ti ringarzio della risposta
Scusa la la parola WAARDE in realtà volevo scrivere VALORE
Provero' il tuo suggerimento e ti faccio sapere.
Spero soltanto che il tuo esempio funziono, in quanto io sto usando
(ancora) Vb6 !!
ti faccio sapere
satriano
aaa
19/05/09 18:42
satriano
Ho appena provato ma ricevo errore 424, objet required
riferito al rigo
While rs.EOF = False
grazie
ps.non credo abbia fatto qualcosa di sbagliato nel database o nel collegamento in quanto se uso il database SOLTANTO con il controllo DATA i dati vengono visualizzati correttamente net textbox.
Ultima modifica effettuata da satriano 19/05/09 18:57
aaa
19/05/09 19:05
satriano
No in quanto , come detto io uso il metodo vecchio con DATA !
quindi io il collegamento lo faccio non da codice ma tramite le proprietà
del controllo DATA.
Non uso e non so usare ADO o DAO
aaa
19/05/09 19:15
marco_grillo
beh... cerca d usare le ADO o DAO sn molto + efficaci...
aaa