Newsgroup: it.comp.lang.visual-basic
Titolo: Combo box e gestione controllo data

Ho:
- database Access collegato a un controllo data
- una combo box legata al controllo data
- una serie di textbox ognuna di queste collegata a un campo del
database tramite il controllo data.
Come posso fare in modo che, facendo click su uno dei nomi della combo,
automaticamente
mi si aggiorni il recordset (aggiornando a sua volta i contenuti delle
text box)?
Ho provato in diversi modi (le proprietą mi sembrano tutte corrette; se
seleziono dal controllo data il contenuto delle text box si aggiorna).
Anticipatamente grazie a chiunque avrą la cortesia di rispondermi.
matpascal

database tramite il controllo data.
Immagino che la combo sia legata ad un altro controllo data...
Prova cosě:
Nell'evento Click della combo (chiamata ad esempio 'Combo1')
Data1.Recordsource=" SELECT ALL * FROM Tabella1 WHERE Nome = Combo1.Text;"
Data1.Refresh
Nell'esempio, la combo1 contiene i nomi di persone
La Tabella1 č la tabella a cui č legato il controllo data e contiene anch'essa un campo Nome (i cui valori sino quelli
contenuti nella combo.
Ciao
#sirri#@
tin.it
(togliete "#" dall'indirizzo)

Scusa, ho capito male.
Se non sbaglio di nuovo, tu vuoi prima memorizzare nella combo i nomi, e poi selezionandoli, spostarti al relativo
record.
Dico bene?
Se si, fai così:
(Ipotesi che tu abbia una tabella, chiamata Tabella1 con i campi Nome (che metterai nella combo), Indirizzo, Città)
Associa a Text1 e Text2 rispettivamente i campi "Indirizzo" e "Città", poi:
Dim dbase as Database
Dim rst As Recordset
Private Sub Form_Load()
	if data1..recordcount=0 then exit Sub
 
	data1.recordset.movefirst
	do
		combo1.additem rst("Nome")
		data1.recordset.move 1
	loop until data1.recordset.EOF
 
End Sub
Private Sub Combo1_Click()
	data1.recordset.movefirst
	do
		if data1.recorset("Nome") = combo1.text then exit do
		data1.recordset.move 1
	loop until data1.recordset.eof
	data1.refresh
End Sub
L'ho scritto così, senza testarlo.
Se crei un oggetto database ed uno recordset funziona, con il data non ho provato, ma dovrebbe andare...
se non funge lo controllo in VB,
ciao,


Innanzi tutto grazie a Sirri per aver cercato - la seconda volta in meno di una settimana - di darmi una mano su un
problema.
La routine Form_load non mi serve perchè gli items li recupero tutti con il collegamento al
controllo data tramite la finestra proprietà della combo.
La tua seconda routine l'avevo già sperimentata ma mi dava errore:
"Impossibile trovare il metodo o il membro dei dati".
Mai capita la causa.
Per adesso il problema l'ho risolto nella sostanza sostituendo la combo con una dbgrid ed
utilizzando query Sql per selezionare solo due campi (Cognome paziente e Nome paziente)
dove l'utente selezionerà i suoi nominativi; non nella forma perchè esteticamente mi fa un po' vomitare.
Ad ogni modo - "per chi si stesse collegando in questo momento" - il problema consta di:
- data base Access già completo di dati
- controllo data collegato alla tabella 'Dati completi' tramite la finestra proprietà
- combo box legata al controllo data sempre attraverso la finestra proprietà
- una serie di text box, ognuna delle quali legata a un campo della tabella.
La domanda è: come "comandare" il controllo data dalla combo, cioè, come far si che -
                         selezionando un nome dalla combo, mi aggiorni automaticamente il
                         recordset e con esso i dati contenuti in tutte le text box?
Ho provato anche a usare query al click della combo ... niente da fare, errori a ripetizione.
Accetto consigli e aiuti da chiunque.
Grazie, matpascal.
P.S. Sirri, mi aspetto di leggerti, ormai sta diventando anche un tuo problema ... scherzo!


Basta, mi hai rotto!!!!! ;-))
Mandami il sorgente, o almeno una riproduzione, in mail e ci do un'occhiata...
Ciao,


...
|Ho:
|- database Access collegato a un controllo data
|- una combo box legata al controllo data
|- una serie di textbox ognuna di queste collegata a un campo del
|database tramite il controllo data.
|
|Come posso fare in modo che, facendo click su uno dei nomi della combo,
|automaticamente
|mi si aggiorni il recordset (aggiornando a sua volta i contenuti delle
|text box)?
|
|Ho provato in diversi modi (le proprietà mi sembrano tutte corrette; se
|seleziono dal controllo data il contenuto delle text box si aggiorna).
|
|Anticipatamente grazie a chiunque avrà la cortesia di rispondermi.
|
|matpascal
|