Progressivo max+1 filtrato da una query

di il
13 risposte

Progressivo max+1 filtrato da una query

Ciao a tutti,
ho una maschera ed una sottomaschera
la sottomaschera ha origine da una query (anno, maxprogressivo)
mi restituisce il progressivo massimo di ogni anno
nella maschera ho un campo [data_inserimento] e con un pulsante, tramite una macro dovrei assegnare il valore al campo [progressivo]
trova il maxprogressivo dell' anno = al campo [data_inserimento] della maschera + 1
se nel campo [data_inserimento] scrivo 2011 e nella query il max progressivo del 2011 è 500 il campo [progressivo] = 500+1

scusate la confusione,
grazie in anticipo

13 Risposte

  • Re: Progressivo max+1 filtrato da una query

    Ti offendi se ti dico che non si capisce una fava?
  • Re: Progressivo max+1 filtrato da una query

    Se la sub ti serve perchè vuoi vedere i max per anno ok ... ma non serve
    ti basta assegnare all'evento che vuoi tu, ad esempio data_inserimento_afterupdate il codice
    
    me.progressivo=dmax("progressivo","tuaOrigine","anno=" & year(me.data_inserimento))+1
    
    aggiungendo un controllo sul null della data_inserimento, un nz al dmax giusto per non fornire la pappa pronta completamente e dando per scontato che esista un campo anno nella tabella/query "tuaOrigine"
    Tieni in considerazione che, come non è necessaria la submask non è necessaria per forza nemmeno una query di raggruppamento.
    Però mi sorge una domanda ... perchè vuoi questo? mi sto immaginando che tu debba assegnare il progressivo ad un record di n campi e non solo di data_inserimento per cui di solito l'assegnazione del progressivo si fa al momento della registrazione del record quindi avrebbe senso spostare il tutto sull'evento apposito e a quel punto modificherei proprio ... ma dipende se la form è associata o meno.
  • Re: Progressivo max+1 filtrato da una query

    fratac ha scritto:


    Ti offendi se ti dico che non si capisce una fava?
    Assolutamente no, non ho capito neanche io quello che ho scritto

    praticamente devo creare un progressivo diviso per anni.
    L' anno viene messo in una textbox e da li devo continuare ad aggiungere record.
    Grezie
  • Re: Progressivo max+1 filtrato da una query

    muttley005 ha scritto:


    Se la sub ti serve perchè vuoi vedere i max per anno ok ... ma non serve
    ti basta assegnare all'evento che vuoi tu, ad esempio data_inserimento_afterupdate il codice
    
    me.progressivo=dmax("progressivo","tuaOrigine","anno=" & year(me.data_inserimento))+1
    
    aggiungendo un controllo sul null della data_inserimento, un nz al dmax giusto per non fornire la pappa pronta completamente e dando per scontato che esista un campo anno nella tabella/query "tuaOrigine"
    Tieni in considerazione che, come non è necessaria la submask non è necessaria per forza nemmeno una query di raggruppamento.
    Però mi sorge una domanda ... perchè vuoi questo? mi sto immaginando che tu debba assegnare il progressivo ad un record di n campi e non solo di data_inserimento per cui di solito l'assegnazione del progressivo si fa al momento della registrazione del record quindi avrebbe senso spostare il tutto sull'evento apposito e a quel punto modificherei proprio ... ma dipende se la form è associata o meno.
    Ok, così funziona
    Me.Progressivo = DMax("progressivo", "inserimenti", "anno_progressivo=" & Me.anno_progressivo) + 1

    ma volendo aggiungere nz(dmax e assegnare 1 per gli anni che che non hanno ancora nessun valore come posso modificarla?

    grazie 1000
  • Re: Progressivo max+1 filtrato da una query

    Scusa ma che ti aveva scritto muttley sulla Nz?
  • Re: Progressivo max+1 filtrato da una query

    oregon ha scritto:


    Scusa ma che ti aveva scritto muttley sulla Nz?
    Purtroppo non ho capito, sono alle prime armi. Cerco di trovare informazioni su Google e di adattarle alle mie esigenze.

    Il codice
    Me.Progressivo = DMax("progressivo", "inserimenti", "anno_progressivo=" & Me.anno_progressivo) + 1

    funziona ma ho problemi con le date che non hanno nessun valore.

    Quale sarebbe la strada giusta da seguire?
    Grazie per la disponibilità
  • Re: Progressivo max+1 filtrato da una query

    Programmare col copiaincolla non porta da nessuna parte. Prova a leggere la documentazione da

    https://support.microsoft.com/it-it/office/funzione-nz-8ef85549-cc9c-438b-860a-7fd9f4c69b6c

    e fai delle prove
  • Re: Progressivo max+1 filtrato da una query

    Ciao Oliviero,
    come gia' Ti hanno suggerito, devi inserire la funzione Nz sulla Dmax. come funziona lo trovi qui:
    https://support.microsoft.com/it-it/office/funzione-nz-8ef85549-cc9c-438b-860a-7fd9f4c69b6c

    Non e' difficile...
  • Re: Progressivo max+1 filtrato da una query

    Scusa oregon, risposta quasi contemporanea...
  • Re: Progressivo max+1 filtrato da una query

    Di nulla, anzi meglio ribadire il concetto
  • Re: Progressivo max+1 filtrato da una query

    oregon ha scritto:


    Di nulla, anzi meglio ribadire il concetto
    Du Nz is megl ke uan
  • Re: Progressivo max+1 filtrato da una query

    max.riservo ha scritto:


    Du Nz is megl ke uan
    come "zri posts is mei ke uan"? https://www.iprogrammatori.it/forum-programmazione/viewtopic.php?p=8696956#p8696956
    Che livelli abbiamo raggiunto... verso il basso.
  • Re: Progressivo max+1 filtrato da una query

    Ok, risolto con
    Me.Progressivo = DMax("progressivo", "inserimenti", "anno_progressivo=" & Me.anno_progressivo) + 1

    grazie a tutti.
Devi accedere o registrarti per scrivere nel forum
13 risposte