Sviluppare funzionalita su Microsoft Office con VBA [ACCESS]Movimenti cassa con saldo precedente.

Login Registrati
Stai vedendo 15 articoli - dal 1 a 15 (di 15 totali)
  • Autore
    Articoli
  • #18272 Score: 0 | Risposta

    luigi1948
    Partecipante

      Ciao a tutti.

      s0no tre giorni che provo e riprovo ma mi sono arreso... chiedo aiuto agli esperti:

      allego una maschera che mi visualizza i movimenti della cassa da una determinata data ad un'altra.

      Quello che non riesco ad ottenere è il saldo dare e avere alla data immediatamente precedete alla date da me indicate.

      Grazie del vostro prezioso aiuto.

      Luigi

      Allegati:
      You must be logged in to view attached files.
      #18275 Score: 0 | Risposta

      patel
      Moderatore
        51 pts

        La prossima volta nel titolo indica che si tratta di access

        #18276 Score: 0 | Risposta

        vecchio frac
        Senior Moderator
          272 pts

          luigi1948 ha scritto:

          Quello che non riesco ad ottenere è il saldo dare e avere alla data immediatamente precedete alla date da me indicate.

          Per favore, fai l'esempio concreto. Se scegli dal 1 febbraio al 28 febbraio 2019, oppure mese: febbraio (di che anno?), che risultato ti aspetti? e dove dovrebbe essere visualizzato? e il saldo deve comprendere tutti i movimenti esistenti o solo quelli dell'anno specificato dall'intervallo temporale? (cioè: indico febbraio, mi aspetto il saldo al 31 gennaio 2019).

          #18278 Score: 0 | Risposta

          luigi1948
          Partecipante

            Intanto chiedo scusa per non aver specificato che si tratta di access.

            Intanto il programmanon prende in considerazione l'anno perchè ogni fine esercizio comincio da zero, naturalmente indicando i riporti dell'anno precedente.

            Vorrei che prima della riga dove viene visualizzato il primo movimento del periodo indicato, vemisse indicato il saldo dare/avere del perido precedente a quello scelto, sempre dello stesso anno.

            Allego facsimile

            grazie

            Allegati:
            You must be logged in to view attached files.
            #18281 Score: 0 | Risposta

            vecchio frac
            Senior Moderator
              272 pts

              Se non ho capito male fai una query che calcola la somma del campo "avere" e la somma del campo "dare" prendendo in considerazione il periodo dal 1 gennaio all'ultimo giorno del mese precedente a quello indicato dalla casella "dal". Assegni il risultato a un recordset e prelevi il risultato.

              La difficoltà nasce solo dal fatto che devi calcolare l'ultimo del mese precedente. La formula che aiuta è: dateserial(anno, mese successivo, 0). Questo calcola la data dell'ultimo giorno del mese precedente a quello indicato. Esempio: dateserial(2019, 3, 0) restituisce 28/02/2019 perchè è il giorno prima del 1° marzo.

              Quindi la tua istruzione VBA potrebbe essere così:

              Set rs = CurrentDb.OpenRecordset("SELECT Sum(Avere) As A, Sum(Dare) As D FROM Dati WHERE Data < #" & Format(dateserial(year(now), month(cmbmese & " 2019"), 0), "mm/dd/yyyy") & "# ")
              'in rs!A hai la somma di Avere
              'in rs!D hai la somma di Dare

              L'accrocchio con Month sul nome del mese scritto così è perchè in cmbmese non hai associato dei numeri ma del testo corrispondente ai nomi dei mesi (di solito la prima colonna è numerica ed è la colonna associata, a lunghezza zero, la seconda colonna è la descrizione)

               

               

              #18330 Score: 0 | Risposta

              luigi1948
              Partecipante

                Non capisco perchè non riesco a rispondere.

                Comunque, intanto grazie per la spiegazione.

                Vi chiedo ancora un po di pazienza perché non riesco a trovare il modo di mettere in pratica queste istruzioni.

                Grazie

                #18331 Score: 0 | Risposta

                vecchio frac
                Senior Moderator
                  272 pts

                  luigi1948 ha scritto:

                  non riesco a trovare il modo di mettere in pratica queste istruzioni.

                  Provo ad allegarti il file da me modificato, vediamo se pian piano troviamo una quadra 🙂

                   

                  Allegati:
                  You must be logged in to view attached files.
                  #18335 Score: 0 | Risposta

                  luigi1948
                  Partecipante

                    Ok molto bene

                    ti ringrazio infinitamente, non ci sarei mai più arrivato da solo.

                    Chiedo ancora scusa ma, come avrai capito, ci sono delle cose troppoo complicate per me.

                    Grazieeeeeeeeeeee.

                     

                    #18336 Score: 0 | Risposta

                    vecchio frac
                    Senior Moderator
                      272 pts

                      Non preoccuparti, non c'è niente di magico, è una query che calcola la somma di dare e avere in funzione della data immessa nella combobox del mese (quindi deve solo pensare a ricavare il mese precedente), la query viene assegnata a una variabile di tipo Recordset e quindi i corrispondenti valori vengono recuperati e attribuiti alle due textbox della sottomaschera che li contiene.

                      #20997 Score: 0 | Risposta

                      luigi1948
                      Partecipante

                        Ciao a tutti

                        chiedo scusa ma provando e riprovando ho notato un piccolo problema.

                        Quando chiedo mi compare il saldo dei mesi precedenti a quello richiesto, non vengono conteggiate le registrazioni fatte all'ultimo giorno dei mesi precedenti. Se cambio la data per esempio dal 31 gennaio al 30 gennaio allora la conteggia.

                        Grazio per un aiuto

                        #20999 Score: 0 | Risposta

                        vecchio frac
                        Senior Moderator
                          272 pts

                          Probabilmente basta aggiungere la condizione di uguaglianza alla query di estrazione (non ho provato, lo dico a naso):

                          Set rs = CurrentDb.OpenRecordset("SELECT Sum(Avere) As A, Sum(Dare) As D FROM Dati WHERE Data <= #" & Format(dateserial(year(now), month(cmbmese & " 2019"), 0), "mm/dd/yyyy") & "# ")
                          'in rs!A hai la somma di Avere
                          'in rs!D hai la somma di Dare

                          Cioè, selezionale somme di dare e avere da "Dati" quando la data è minore *o uguale* all'ultimo del mese. Nell'espressione precedente mancava "o uguale". Secondo me è così, ma se così non è, fai sapere 🙂

                          #21039 Score: 0 | Risposta

                          luigi1948
                          Partecipante

                            Ho applicato il tuo suggerimento ma credo non funzioni bene.

                            Ti mando una copia

                            Grazie del tempo che mi hai dedicato e mi continui a dedicare.

                            Allegati:
                            You must be logged in to view attached files.
                            #21047 Score: 0 | Risposta

                            vecchio frac
                            Senior Moderator
                              272 pts

                              Ci darò un'occhiata stasera! Come sempre se non vedete risposte in tempi ragionevoli chiamatemi 🙂

                              #21074 Score: 0 | Risposta

                              luigi1948
                              Partecipante

                                Ok grazie infinite

                                Buon week end

                                #21292 Score: 0 | Risposta

                                luigi1948
                                Partecipante

                                  Seguo il tuo suggerimento.

                                  "Non ho visto risposte"

                                  Grazie per la pazienza

                                Login Registrati
                                Stai vedendo 15 articoli - dal 1 a 15 (di 15 totali)
                                Rispondi a: [ACCESS]Movimenti cassa con saldo precedente.
                                Gli allegati sono permessi solo ad utenti REGISTRATI
                                Le tue informazioni: