+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Dsum Dcount (maschera e sottomaschera)

  1. #1
    weldor non è in linea Scolaretto
    Post
    81

    Dsum Dcount (maschera e sottomaschera)

    ciao a tutti,
    stò cercando di utilizzare la funzione Dsum e Dcount in access; sono arrivato in un punto dove funziona correttamente dentro una maschera, ma se utilizzo la funzione in sottomaschere mi somma sempre il totale della tabella.

    Ho fatto un piccolo esempio (database1.mdb) : se clicco su FORMULE B funziona, ma con pulsante FORMULA A ottengo il totale dei 2 ordini
    Download Database1 mdb, fast and secure downloading from crocko.com

    Cosa sbaglio?

    Grazie
    ciao

  2. #2
    L'avatar di nman
    nman non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,666
    Quote Originariamente inviato da weldor Visualizza il messaggio
    Forms!msc_ordini!msc_dettaglio.Form!txtSomma = DSum("quantità", "dettaglio", "Forms!msc_ordini!ID = Forms!msc_ordini!msc_dettaglio.Form!IDOrdini")

    Quella sopra è la formula che scrivi nel VBA

    La parte prima dell' = identifica dove vuoi il risultato ____ va bene

    Dopo segue:

    DSum _________ Somma
    "quantità" ______ Il campo quantita
    "dettaglio" _____ nella tabella dettaglio
    "Forms!msc_ordini!ID =......... <<Quel valore della maschera a cosa deve essere uguale nella tabella dettaglio ???


    __________________________________________________ __________________________________________________ __

    poi:

    Io eviterei VBA, pulsanti, eventi e tutto il resto,

    Metterei un controllo calcolato direttamente nella maschera che contiene la formula

    =DSum("quantità", "dettaglio", "Forms!msc_ordini!ID = .........")



    __________________________________________________ __________________________________________________ _


    Una domanda?

    Quel DB lo hai per caso fatto con access 2007/2010 e poi salvato in .mdb ?


    Te lo chiedo perche mi si è bloccato diverse volte (Access2003)

    ho fatto il compatta e ripristina
    ho esportato tutti gl oggetti ma continua a bloccarsi appena tocco la stuttura delle maschere


    __________________________________________________ ______________________________________________


    Facci sapere
    Ultima modifica di nman; 12-10-2012 00:41 

  3. #3
    weldor non è in linea Scolaretto
    Post
    81
    Quote Originariamente inviato da nman Visualizza il messaggio
    Quella sopra è la formula che scrivi nel VBA

    La parte prima dell' = identifica dove vuoi il risultato ____ va bene

    Dopo segue:

    DSum _________ Somma
    "quantità" ______ Il campo quantita
    "dettaglio" _____ nella tabella dettaglio
    "Forms!msc_ordini!ID =......... <<Quel valore della maschera a cosa deve essere uguale nella tabella dettaglio ???
    deve essere uguale al numero ordine, corrispondente al numero ordine maschera msc_ordini = ID
    Quindi msc_ordini!ID = msc_dettaglio!IDORdini



    __________________________________________________ __________________________________________________ __

    poi:

    Io eviterei VBA, pulsanti, eventi e tutto il resto,

    Metterei un controllo calcolato direttamente nella maschera che contiene la formula

    =DSum("quantità", "dettaglio", "Forms!msc_ordini!ID = .........")
    si è vero, ma una volta capito il problema vorrei utilizzare questa funzione in un codice vba più complesso


    __________________________________________________ __________________________________________________ _


    Una domanda?

    Quel DB lo hai per caso fatto con access 2007/2010 e poi salvato in .mdb ?


    Te lo chiedo perche mi si è bloccato diverse volte (Access2003)

    ho fatto il compatta e ripristina
    ho esportato tutti gl oggetti ma continua a bloccarsi appena tocco la stuttura delle maschere

    si è stato creato con Access 2010

    __________________________________________________ ______________________________________________


    Facci sapere

    Grazie 1000

  4. #4
    L'avatar di nman
    nman non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,666
    Quote Originariamente inviato da nman Visualizza il messaggio
    DSum _________ Somma
    "quantità" ______ Il campo quantita
    "dettaglio" _____ nella tabella dettaglio
    "Forms!msc_ordini!ID =......... <<Quel valore della maschera a cosa deve essere uguale nella tabella dettaglio ???
    Ho la sensazione che non hai ancore le idee chiare
    rileggi bene quello che ti ho scritto in rosso

    __________________________________________________ _______________________

    Prova nell'help a cercare DCount/DSum ti fanno questo esempio
    codice:
    =DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
    Gli elementi sono 3

    1) il campo da contare (OrderID)
    2) La tabella che contiene quel campo (Orders)
    3) Opzionale il criterio o filtro da applicare
    Quindi nell'esempio conta nella tabella Orders solo le righe che al
    campo ShipRegion hanno valore 'CA'

    __________________________________________________ _______________

    Se il 3° punto ( che è opzionale ) non è scritto bene succede
    ( ed è quello che succede a te ) che ti toglie il filtro e ti conta tutto.

    __________________________________________________ _____________

    Quindi tornando a noi
    un campo della tabella dettaglio dove registri l' ID dell'ordine ( non l' ID del dettaglio )
    DEVE
    essere uguale a Forms!msc_ordini!ID

    __________________________________________________ ________________

    Facci sapere

  5. #5
    weldor non è in linea Scolaretto
    Post
    81
    ok
    così funziona:
    3) criterio opzionale: Forms!msc_ordini!ID = IDOrdini
    quindi dopo = si deve indicare solo il campo senza il percorso: giusto?

    grazie mille
    ciao

  6. #6
    L'avatar di nman
    nman non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,666
    Quote Originariamente inviato da weldor Visualizza il messaggio
    così funziona:
    3) criterio opzionale: Forms!msc_ordini!ID = IDOrdini
    quindi dopo = si deve indicare solo il campo senza il percorso: giusto?
    Si solo il campo,
    Perche il campo fa riferimento alla tabella "dettaglio"

    mentre tu indicavi il percorso di maschera che in questo caso non c'entra



    .

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi