Newsgroup: it.comp.appl.access
Titolo: Inserire controllo in sottomaschera

Ciao a tutti, vorrei chiedere se è possibile inserire in una 
sottomaschera
un controllo prelevato da una Query...
la maschera e la sottomaschera hanno cmq come origine 2 tabelle 
relazionate
l'ho inserito... ma non compare nulla nel controllo
=[qry_Scad]![ID_Anagrafe] «Espr» [qry_Scad]![Scad]
Giuseppe 

 ha scritto nel messaggio 
news:7a1li.63277$U01.6...@twister1.libero.it...

A parte la sintassi dell'espressione che non è giusta («Espr» che cce sta' a 
fa?); se [ID_Anagrafe] e [Scad] non sono compresti nelle origini dati delle 
form aperte non potrai leggerle.
Di solito si utilizza la DLookup (vedi help)...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:f72f95$9vk$1...@tdi.cu.mi.it...

-------------
ok... vedo...
Ciao

 ok... vedo...
-----------
Ciao Sergio... ho letto, ma non capito perfettamente l'utilizzo...
la funzione DLookup devo inserirla nell'origine controllo del controllo
non associato ??
esempio...
=DLookup("[Scad]", "Qry_Scad")
dove la query che contiene il campo si chiama Qry_Scad ed il campo si 
chiama Scad
è giusto ??
Ciao 

 Ciao
Ciao.
-- 
Sergio MAZZA 

 della DLookup...
---------------
in effetti non fa quello che mi serve... ossia visualizzare il contenuto 
del campo
Scad della Qry_Scad nella FrmScadenze...
purtroppo questo campo non è contenuto nella TabProdotti ma solo nella 
Qry
come espressione...Scad: (DateAdd("g";[MaxDidata_erogazione];80))
cmq ti posto il codice...
SELECT Anagrafe.ID_Anagrafe, Anagrafe.TxTCognome, Anagrafe.TxTNome, 
Anagrafe.TxTCodiceFiscale, Anagrafe.Indirizzo, Tabprodotti.ID, 
Tabprodotti.Prodotto, Tabprodotti.CodASL, Tabprodotti.CodEsenzione, 
Tabprodotti.data_scadenza, Tabprodotti.quantità, 
Max(Tabprodotti.data_erogazione) AS MaxDidata_erogazione, 
Min(DateDiff("d",[data_erogazione],Date())) AS gg, 
IIf(Min(DateDiff("d",[data_erogazione],Date()))>60 And 
Min(DateDiff("d",[data_erogazione],Date()))<91,3,0) AS gg6090, 
(DateAdd("d",[MaxDidata_erogazione],80)) AS Scad
FROM Anagrafe INNER JOIN Tabprodotti ON Anagrafe.ID_Anagrafe = 
Tabprodotti.IdAnagrafica
GROUP BY Anagrafe.ID_Anagrafe, Anagrafe.TxTCognome, Anagrafe.TxTNome, 
Anagrafe.TxTCodiceFiscale, Anagrafe.Indirizzo, Tabprodotti.ID, 
Tabprodotti.Prodotto, Tabprodotti.CodASL, Tabprodotti.CodEsenzione, 
Tabprodotti.data_scadenza, Tabprodotti.quantità
ORDER BY Anagrafe.ID_Anagrafe, Max(Tabprodotti.data_erogazione);
-------
ciao e grazie

 Senza la query...
-----------
purtroppo non va... mi esce scritto #Nome... e d'altronde la data di 
scadenza
[SCAD] la trovo solo nella query e non nella tabProdotti...
Ciao 

 [SCAD] la trovo solo nella query e non nella tabProdotti...
(aridaje)
L'errore è dovuto sicuramente a qualche riferimento errato, da me scritto, 
ad un nome di campo/tabella/controllo. Devi sicuramente riadattarla al tuo 
ambiente, che io non conosco a fondo.
La cosa importante è se mi sono spiegato o no...


 La cosa importante è se mi sono spiegato o no...
-----------
ok...
ma la stringa che inserisco è questa ed i riferimenti sono giusti ma il 
risultato è sempre
#Nome?
DateAdd("g";DMax("[data_scadenza]";"tabprodotti";"idanagrafica=" &
me"idanagrafica);80)
--------
a questo punto che dire ?=?
Ciao 

 ha scritto nel messaggio 
news:_Ekni.69237$U01.6...@twister1.libero.it...

Leggo bene ............me"idanagrafica....? Se non è un errore di 
trascrizione allore è sbagliato va scritto cosi:
.......me!idanagrafica......
pertanto il tutto diventa cosi:
 DateAdd("g";DMax("[data_scadenza]";"tabprodotti";"idanagrafica=" &
 me!idanagrafica);80)
Ciao
Access

 me!idanagrafica);80)
-----------
Ciao Access... ho cambiato la stringa come sopra ma il risultato non 
cambia...
sempre #Nome?, cmq noto che il controllo in cui inserisco la stringa in 
Origine dati
ha di fianco il triangolino verde (segno che non ha, non trova origine 
dati) è normale ??
Ciao 

 Ciao
Il nome della casella di testo non associata; è probabile che sia identico 
al nome di un campo. Prova a cambiarlo...
Ciao.
-- 
Sergio MAZZA 

 identico al nome di un campo. Prova a cambiarlo...
-----------
sob... questa problema stà diventando una telenovela...
cambiato anche il nome al controllo in data_Scad..
sempre il solito problema...
Bye 

 ha scritto nel messaggio 
news:3Roni.67923$%k.20...@twister2.libero.it...

hai provato ad inserire questo:
=DMax("[data_scadenza]";"tabprodotti";"idanagrafica=" & 
[Maschere]![tabella1].[idanagrafica])+80
cosi dovresti avere lo stesso risultato,
Ciao
-- 
Access 

 cosi dovresti avere lo stesso risultato,
.............
Ciao Access--- chiaramente modificando  [Maschere]![tabella1] giusto ??
quindi ho inserito...
=DMax("[data_scadenza]";"tabprodotti";"idanagrafica=" &
[frmProdotti]![tabprodotti].[idanagrafica])+80
ma il risultato non cambia...
Ciao 

 ha scritto nel messaggio 
news:dlFni.68540$%k.20...@twister2.libero.it...

frmProdotti che cos'è?
se è il nome della maschera ove è posizionato il controllo idanagrafica 
allora è corretto scrivere cosi:
 =DMax("[data_scadenza]";"tabprodotti";"idanagrafica=" &
 [Maschere]![frmProdotti].[idanagrafica])+80
-- 
Ciao
Access 

 Bye
Non so' che dirti.
Ricominciamo, magari mi sono perso qualcosa.
- Invia la query o la tabella(con la descrizione dei campi) origine dati 
della maschera.
- Se i nomi dei campi della tabella/query contengono lo spazio, per 
utilizzarli devi racchiuderli tra parentesi quadre; es. data scadenza = 
[data scadenza]. Access ci mette l'undescore ma è un casino...
Ciao.
-- 
Sergio MAZZA 

 [Maschere]![frmProdotti].[idanagrafica])+80
----------------
Ciao Access... prova e riprova... così funziona... ma parzialmente, 
così...
=DMax("[data_scadenza]";"tabprodotti";"id=" & 
Maschere!frmProdotti.id)+80
nel senso che nella Qry_Scad realmente visualizzo tutte le date di 
scadenza...
mentre nella frmProdotti visualizzo alcune date ... sembra quelle solo 
dopo precisamente 80 giorni....
ho provato a togliere +80 ma non va...
come fare a visualizzare tutte le date che sono nel campo della query 
???
grazie 

 grazie
Se sei sicuro che il campo idanagrafica esiste sia in tabProdotti
(che se ho capito bene e' l'origine dati della sottomaschera),
che in TabAnagrafica (che se ho capito bene è l'origine dati
della maschera principale), il tutto deve funzionare scrivendo
l'espressione in questo modo:
 =DMax("[data_scadenza]";"tabprodotti";"idanagrafica=" &
 Maschere!frmAnagrafe.idanagrafica)+80
Ricordati che:
idanagrafica deve esistere in tabProdotti origine dati della sottomaschera;
idanagrafica deve esistere in tabAnagrafe origine dati della maschera 
principale.
se idanagrafica del record corrente della tabAnagrafe è 6, sara' 
visualizzata la data
corrispondante all'idanagrafica della tabProdotti avente come valore 6.
I due campi suddetti devo essere in relzione.
-- 
Ciao
Access
Dai che ce la facciamo.
-- 
Ciao
Access

 Dai che ce la facciamo.
---------------
speriamo di farcela... sono allo stremo... anche per un terribile colpo 
della strega che mi è arrivato da venerdì...
:-(((
Ciao giuseppe 

 Ciao giuseppe
Ciao.
-- 
Sergio MAZZA 

 Ciao giuseppe
-- 
Ciao
Access 

 [idanagrafica])+80
---------------------
finalmente... con la stringa sopra funziona... WOW !!!
aprendo la frmprodotti mi genera un errore solo alla fine dei record... 
penso perchè non trova un record valido ??
prova finale.... provo ad aprire FrmAnagrafe e siccome la maschera si 
posiziona per l'inizio inserimento e nel controllo della sottomaschera 
"data_erogazione" la data è Now()... al controllo data scadenza leggo 
errore...ma provando ad inserire un record... alla fine dopo aver dato 
invio in sottomaschera dopo il controllo data scadenza inserisce 
correttamente la data
ed errore passa al campo successivo...
spero di essermi spiegato... secondo voi è corretto questo funzionamento 
???
Grazie... finalmente è risolto...
Ciao G 

 Ciao G
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
------------------
Ciao Sergio... grazie per l'aiuto (anche ad Access) siete grandi.,...
con la stringa inserita come sopra funziona tutto alla grande...
ora finalmente ho nella naschera sia la data di erogazione che la data 
di scadenza...
Ciao e di nuovo tantissimi ringraziamenti..
Giuseppe 

 Ciao e di nuovo tantissimi ringraziamenti..
yak yak
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access
Segrate (MI), 7-8 giugno 2007