Newsgroup: it.comp.appl.access
Titolo: casella combinata

ho un grande problema, due tabelle una - nome - e l'altra - cliente -
in relazione tra loro uno a molti, un nome può avere molti clienti, la
mia esigenza è, tramite una maschera e due caselle combinate una nome
e l'altra cliente,  devo selezionare un nome e  la casella combinata
cliente deve restituire solo i clienti associati al none,  dalla
casella combinata cliente devo selezionare un cliente e tramite un
tasto - aggiungi- devo immetterlo in un'altra tabella, selezionare
un'altro cliente - aggiungi.  così via, devo avere una tabella
riportando i record - nome - sempre lo stesso  e i clienti da me
selezionati, in modo da poterli stampare.
non so se mi sono spiegato bene, grazie

 non so se mi sono spiegato bene, grazie
casella nome:
select 
nome.id
, nome.pippo,ecc from nome
casella cliente:
select cliente.idnome, ecc from cliente where idnome = 
casellaNome.column(NumeroColonnaCheRestituisceIDnellaTabellaNome)
-- 
Ciao
Geppo 

 Geppo
ti ringrazio, sono ai primi passi, mi puoi spiegare passo passo in
modo che io poi possa adattarlo al mio database.

 modo che io poi possa adattarlo al mio database.
Es.:
tu hai tre tabelle:
<tabella nome>
id = contatore
ditta= testo
<tabella clienti>
id=contatore
idnome= numerico
cognome=testo
nome=testo
residente=testo
<tabella DatiImportati>
ditta=testo
cognome=testo
nome=testo
residente=testo
Crea una form visione maschere continue (cosiddetta tabellare) che 
chiameremo per comodit� "mDatiImportati", associata alla "tabella 
DatiImportati". Qui nell'intestazione di maschera, sopra le etichette delle 
textbox che verranno create dal wizard per la creazione della form, devi 
inserire due casella combinate, di cui la prima collegata alla tabella 
"nome" e l'altra alla tabella "clienti". Una volta fatto questo, entra nelle 
propriet� della casella combinata "clienti" e nella "scheda dati>Origine 
Riga" aggiungi alla fine del testo gi� presente, esattamente prima del ";" 
"where idnome = forms!mDatiImportati!NomecasellacombinataNome". COsi ogni 
volta che selezioni un Nome verranno filtrati nell'altra casella combinata i 
relativi clienti.
Adesso sempre nelle propriet� della casella combinata "clienti" "scheda 
Evento", fai click sul pulsantino con i tre puntini, che ti appare dopo aver 
cliccato nella casella accanto alla voce "dopo aggiornamento" e dalla popup 
che ti appare scegli "generatore di codice"; in questo modo sarai spostato 
nell'editor VBA di access dove scriverai questo codice nella posizione in 
cui lampeggia il cursore:
'=====
Private sub NomeCasellaCombinataCLIENTI_afterupdate()
'=====
'qui
me!ditta=me!NomeCasellaCombinataNOME.column(1)
me!cognome=me!NomeCasellaCombinataCLIENTI.column.(2)
me!nome=me!NomeCasellaCombinataCLIENTI.column(3)
me!residente=me!NomeCasellaCombinataCLIENTI.column(4)
docmd.gotorecord,,acnewrecord
'=====
end sub
'=====
con questo codice, ogni volta che selezioni un cliente dalla casella 
combinata aggiungi alle textbox sottostanti, associate alla tabella 
DatiImportati, quello che ti serve e con l'ultima riga di codice ti sposti 
sul nuovo record per un altro inserimento.
P.S.: column(Numero) che noti sopra non sono altro che le colonne della 
CasellaCombinata all'interno di cui sono memorizzati i dati, cio� se 
l'origine riga � cosi:
select 
nome.id
, nome.ditta from nome
la casella combinata restituisce in:
.....column(0) - l'ID
.....column(1) - la ditta
comunque ti allego un mdb di esempio, magari ti torna utile per capire 
quello che ho scritto:
http://www.divshare.com/download/11561880-0c4
-- 
Ciao
Geppo

 - Mostra testo citato -
Grazie Geppo, mi è stato molto utile, ti ringrazio molto, ci sentiamo
al prossimo problema che incontro.
Ciao
Scossa