Newsgroup: it.comp.appl.access
Titolo: Estrarre un campo da una maschera continua.

buongiorno a tutti, so che per Voi è facile, quindi non negatemi un
aiutino....
Ho la necessita di confrontare tre banche dati trasformate in tre
tabelle.
Prendendo come base di riferimento la prima tabella ho realizzato una
maschera continua che, oltre a valorizzare appunto tutti i record
della base dati, a piè di pagina mi valorizza i totali delle tre
tabelle.
Ora dovrei scendere nel dettaglio dei singoli interventi e avrei
bisogno (di qualcosa ...) che cliccando il record nella continua, mi
esportasse in una cella il valore del suo campo ODA in modo tale da
poter intercettare, tramite query nelle rimanenti due tabelle, i
record corrispondenti.
mi potete aiutare ? grazie infinite ....

bè di facile c'è poco..
comunque..
spesso ho la necessità di estrarre i dati come dici,
ma:
le altre due banca dati hanno molti record?
sono tabelle di access? o collegate a SQL o altor DB?
un metodo che da pochi problemi (almeno nei miei casi):
un pulsante che apre una maschera popup (che sta in primo piano) con
origine dati una query (fonte dati: tabella dati secondaria)
e nel campo "ODA" nella griglia  "criteri" (lo fai in struttura della
query) tasto dx ..genera..  vai a selezionare nella maschera
principale la casella di testo del campo ODA (di solito è preferibile
personalizzare il nome della casella di testo e renderlo univoco in
tutto il DB es: "ODA_x" così access non si confonde mai.
é ovvio che nella maschera popup avrai messo tutti i campi che ti
interessano per visualizzarli
Farai la stessa procedura per la terza tabella dati
Sul pulsante di apertura ..farai in modo di aprire tutte e due le
maschere.
Altro metodo, forse più semplice:
Non capisco bene come hai fatto la maschera principale..
tuttavia:
Puoi fare una copia (eventualmente la crei) della maschera esistente:
(a volte non è produttivo far fare tutto ad una maschera..)
In Struttura della stessa inserisci una sottomaschera/sottoreport
(disabilita la bacchetta magica perchè spesso è più complicato) e
dovrai collegare "Campi Master" (origine dati maschera principale) e
"Campi Secondari" (origine dati maschera secondaria).
Ripeti stessa operazione per la terza base dati
N.B. --> Primo metodo funziona anche se nel campo "ODA" trova dati non
univoci
Secondo metodo funziona anche SOLO se nel campo "ODA" trova dati
UNIVOCI
la situazione la puoi ottenere anche nei Report
Coraggio provaci
ma se impari il metodo farai molto
se mi chiederai altre indicazioni potrebbe darsi che non possa
risponderti subito,
il mio lavoro è un po' stano e sono poco on-line
saluti
Dargons

dimenticavo,
cosa importante
1° metodo - devi selezionare il record che ti interessa (non
necessariamente il campo "ODA") e poi premi il pulsante per aprire le
Popup..
2° metodo -  dovrebbe funzionare automaticamente (importante collegare
bene Master e Secondari..)
 
Saluti
Dragons


grazie infinite per l'aiuto,
Si sono tutte tabelle di access.
 
La strada che mi suggerisci è valida ma il mio problema è che non
riesco ad "intercettatare" il valore del campo ODA tra quelli presenti
nella maschera continua e "passarlo" ad una query.
 
grazie per il contributo e la gentile risposta

sono sempre quì,
 
scusa .. ma per intercettare il campo "ODA" ci deve essere nella Form
a maschera continua una casella di testo associata al campo "ODA"
 
se proprio non riesci con il comando "Genera" dalla griglia criteri di
una query (in struttura)
la sintassi è questa
 
Forms![nome_maschera]![nome_controllo]
 
da scrivere nella griglia criteri del campo "ODA" da filtrare...
 
[nome_controllo] si intende il nome della casella di testo associata
al campo "ODA"
 
spero di esser stato d'aiuto
comunque non mollare e lo capirai
anche se farai le 4 di mattina (personalmente ne so qualcosa)
 
saluti
dragons

 a maschera continua una casella di testo associata al campo "ODA"
"ci deve essere" non e' certo. Il campo puo' essere sul recordset e 
potrebbe non esserci il corrispondente controllo sul form. Ma la 
sostanza non cambia puo' prelevarlo dal recordset.
 
 
-- 
 
ac (x=y-1)


wrote:

scusate ma non so come fare a prelevarlo, cioè spiego quello che ho
fatto, magari banalmente ....
ho fatto una casella di testo nell'intestazione di pagina chiamata
testo 21.
Quando vado nell'elenco della maschera continua scelgo l'ODA che mi
serve controllare, supponiamo sia 4500012345, tra quelle visualizzate.
io vorrei che con un doppio clic o con un altro artificio ( io ho
provato a scrivere sull'evento doppio clic del campo ODA
me.testo21.value = me.ODA.value) il valore su cui clicco nell'elenco a
discesa (4500012345) mi venisse copiato sulla testo21 in modo tale da
poter attivare il doppio confronto.
Il massimo sarebbe poi se la riga relativa, ovviamente della maschera
continua, cambiasse colore o rimanesse evidenziata.
chiedo troppo ?
grazie infinite

 chiedo troppo ?
Da sola non lo fa pero' potresti utilizzare la formattazione 
condizionale c'e' l'apposita entrata su menu' Formato-->Formattazione 
condizionale..... e la seguente procedura di aiuto nella composizione.
Comunque data una qualsiasi form se rimane aperta e c'e' un record 
corrente (*)
Forms!NomeForm!NomeControllo contiene il valore che cerchi (anche su un 
form continuo)
nel tuo caso
Forms!nomedellatuamaschera!ODA
o male che "vata"
Forms!nomedellatuamaschera.Form!ODA
(*) Ne puoi veder anche 5612367 ma quello corrente e' uno solo ed ha 
suoi valori precisi
-- 
ac (x=y-1)

 - Mostra testo citato -

 mi piacerebbe capirla, mi aiuti ?
 
E' la sostituzione che va fatta sulla mia email per avere quella valida,
se a questo ti riferivi.
 
-- 
 
ac (x=y-1)


wrote:

ok grazie infinite di tutto.
se non ne approfitto troppo, posso chiederti un altro favore ?
 
La mia maschera funziona benissimo...per quello che mi serve.
Scrollando gli interventi sulla maschera continua e cliccando sul
campo ODA gli stessi interventi mi compaiono sulle due maschere poste
nel piè di pagina.
Se tutto va bene passo la record successivo, altrimenti opero sulle
due banche dati disallineate.
 
Il mio problemino che permane è che dopo l'ultimo intervento
verificato, perdo il segno nella maschera continua.
Ho provato ad adattare un esempio trovato sul Sitocomune, ma senza
successo.
Ho copiato il modulo e adattato (sicuramente male) il codice
all'evento su corrente della maschera:
=Evidenzia("[Progr]";[Progr];Maschere!RICONCILIAZIONE)
 
in alternativa ho provato la formattazione condizionale, della quale
non conoscevo la possibilità di utilizzo in base al campo attivo,
altro successo di oggi, grazie alla tua pazienza..
Purroppo la formattazione si riferisce solo al campo e non alla riga
completa.
Posso fare in modo di evidenziare la riga dove sono rimasto con il mio
lavoro ?
 
Scusa per la sfacciataggine, ti ringrazio per quanto già mi hai dato
modo di capire e anticipatamente per l'ulteriore sforzo che ti
richiedo.
grazie
ciao

serve controllare, supponiamo sia 4500012345, tra quelle visualizzate.
 
ma lavori in Telecom o in qualche società che lavora per Telecom?....