Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

ACCESS 2013 - campo automatico

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

ACCESS 2013 - campo automatico

Postdi femon » 01/03/18 11:52

Buongiorno, avrei bisogno di un aiuto:
Ho una maschera collegata ad una tabella A che contiene una sottomaschera di una tabella B contenente delle date.
Avrei necessità di aggiungere un campo (chiamiamolo STATO) nella maschera principale che mi dia come risultato "A" se il valore max del campo date della sottomaschera è maggiore o uguale ad OGGI, mentre mi dia come risultato "C" se la data più recente della sottomaschera è inferiore ad OGGI.
Questo mi permetterebbe poi di fare alcune query filtrando solo i record con il campo A oppure C
E' possibile?
Grazie anticipato per l'aiuto.
Federico
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Sponsor
 

Postdi archimede » 01/03/18 14:39

Per la maschera non sono in grado di aiutarti, ma ho idea che sia possibile fare la query anche senza aggiungere un nuovo campo.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: ACCESS 2013 - campo automatico

Postdi femon » 01/03/18 14:50

Grazie x la risposta Alessandro,
una query che mi evidenzia la data massima l'ho già fatta, ma non riesco a creare un singolo campo che mi verifichi quella data max e me la confronti con quella di oggi dandomi così una risposta A o C... :cry:
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Postdi archimede » 01/03/18 17:04

Se ci mostri il codice della query, vediamo cosa si puo' fare.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: ACCESS 2013 - campo automatico

Postdi femon » 02/03/18 09:34

Grazie Alessandro, il codice della Query è questo:

SELECT DATE.NumFam, DATE.Date, IIf([Date]>Date(),"A","C") AS Status
FROM [DATE];

Praticamente pesca tutti i NumFam da una tabella A e tutte le date ad esso associate da una tabella B e le confronta con OGGI dando il risultato in STATUS

La mia necessità sarebbe avere solo la data più recente per ogni NumFam e confrontarla con OGGI in modo che il campo STATUS mi proponga la A (di attivo) o la C (di chiuso).

Ho provato a mettere la formula MAX per il campo Date, ma non funziona in quanto se il campo NumFAm ha delle date ancora attive mi risponde proponendomi due record uno con una data con STATUS=A e l'altro con una data scaduta con STATUS= C.
Se invece NumFam ha associato solo date vecchie, allora mi presenta correttamente l'ultima con il campo STATUS = C.
Grazie ancora per il tuo aiuto.
Federico.
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Postdi archimede » 02/03/18 10:58

femon ha scritto:SELECT DATE.NumFam, DATE.Date, IIf([Date]>Date(),"A","C") AS Status
FROM [DATE];

Praticamente pesca tutti i NumFam da una tabella A e tutte le date ad esso associate da una tabella B e le confronta con OGGI dando il risultato in STATUS
Hai una tabella che si chiama DATE? Pessima idea secondo me.

A parte questo, quella query non "pesca" dati da due tabelle (basta guardare la clausola FROM).

Per cui o hai copiato la query sbagliata o forse e' meglio che descrivi le tue tabelle REALI e spieghi come sono tra loro relazionate e cosa vorresti ottenere con qualche esempio.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: ACCESS 2013 - campo automatico

Postdi femon » 02/03/18 15:03

Esatto Alessandro, ho fatto un po' di confusione,
effettivamente la query pesca da una stessa tabella DATE i 2 campi NumFam e Date alla quale poi ho aggiunto un terzo campo calcolato chiamandolo STATUS con la formula nel codice indicata.
Ti faccio un semplice esempio:
Ho una tabella DATE con due campi:
NumFam DATE
A 01/01/2018
A 01/05/2018
A 01/10/2019
B 01/01/2018
B 01/02/2018

Risultato: vorrei una query che mi dia:
NumFam DATE STATUS
A 01/10/2019 A
B 01/02/2018 C

e da qui poi poter fare anche un altra query con lo STATUS=A:
NumFam DATE STATUS
A 01/10/2019 A

Spero di essere stato un po' più chiaro.
Grazie.
Federico
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Re: ACCESS 2013 - campo automatico

Postdi femon » 02/03/18 15:12

Dimenticavo di specificare che nella prima query dovrebbero comparire solo le date più recenti (o quelle più future) per ogni NumFam in quanto metterei il valore Max nella formula del campo Date.
grazie ancora
Federico.
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51

Postdi archimede » 02/03/18 17:22

Codice: Seleziona tutto
select NumFam, max(Date) as DataMax, IIf(max([Date])>Date(),"A","C") as Status
  from [DATE]
 group by NumFam;
HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: ACCESS 2013 - campo automatico

Postdi femon » 03/03/18 18:10

Grazie Alessandro,
mi sembra che vada bene.
Ora farò un po' di prove con altre query ma da una prima verifica mi sembra vada tutto ok!!!!!!!!
Grazie milleeeeee.
Federico.
femon
Utente Senior
 
Post: 101
Iscritto il: 12/03/14 18:51


Torna a Applicazioni Office Windows


Topic correlati a "ACCESS 2013 - campo automatico":


Chi c’è in linea

Visitano il forum: raimea, wallace&gromit e 37 ospiti