SELECT che non fa quello che voglio AIUTO!!!!!

di il
27 risposte

27 Risposte - Pagina 2

  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    Prendi ad esempio il contratto IDCont=162 il suo valore è di 50€, nei pagamenti se cerchi nel campo 'NumContr' il valore 162 vedrai che è stato fatto un pagamento di 50€ quindi il contratto è stato pagato per intero perchè nella tabella Ampliamenti non ci sono record associati all'IDCont=162 e neache nella tabella Apparati. A questo punto il valore del Contratto 'ValContr' è uguale a quello del pagato giusto? Quindi dovrebbe farmelo vedere...ma non lo fa...secondo me è che cerca nelle tabelle Ampliamenti e in Apparati, non trova nulla associato quindi non fa neanche somme, dopodichè nelle condizioni lui va a sommare il 'ValContr' con niente e da come risultato NIENTE...quindi la condizione non può essere verificata!!
    Servono altre spiegazioni?
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    Provi sostituire LA CONDIZIONE in gestione con:
    Val("" &((SELECT SUM(Pagamenti.TotPag) FROM Pagamenti WHERE(Pagamenti.NumContr=Contratti.IDCont)))
    =
    Contratti.ValContr
    +
    Val("" &(SELECT SUM(Ampliamenti.ValAmp) FROM Ampliamenti WHERE(Ampliamenti.IDCont=Contratti.IDCont)))+
    Val("" & (SELECT SUM(Apparati.ValContr) FROM Apparati WHERE(Apparati.IDCont=Contratti.IDCont))))

    Se funziona ti spiego dopo

    Fabian
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    Le Modifice funzionano?

    Fabian
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    Io non ho il database a portata di mano ma a "naso" penso che sulle tabelle con cui vai in join per verificare la somme e che possono anche non contenere record tu dovresti andarci in outer join altrimenti la condizione non ti funzionerà mai.

    Fammi sapere.

    USATE DELPHI E ANDRETE LONTANO.
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    La tua condizione Fabian funziona...grazie tanto ma come hai fatto?Che fa il comando 'Val'?
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    I seguenti campi:
    * Pagato:
    (SELECT SUM(Pagamenti.TotPag) FROM Pagamenti WHERE (Pagamenti.NumContr=Contratti.IDCont))
    * ValoreApp:
    (SELECT SUM(Apparati.ValContr) FROM Apparati WHERE (Apparati.IDCont=Contratti.IDCont))
    * ValoreAmp:
    (SELECT SUM(Ampliamenti.ValAmp) FROM Ampliamenti WHERE (Ampliamenti.IDCont=Contratti.IDCont))

    Possono riportare un valore a "Null".
    Con la funzione "Val("" &" verrà ignorato il valore Null e scritto "0".
    Se c'era nella Tabella un campo = "Null", l'esecuzione non andava a buon fine.

    Fabian
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    E' quello che ho pensato anche io ma non sapevo il modo per fargli tornare 0 ... cmq grazie mille mi hai tirato fuori da un pasticcio!!!

    Ciao e grazie ancora!!!!
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    Ti credo
    Buon lavoro e se vai in ferie: buone vacanze!


    Fabian
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    Ti serve ancore la soluzione?


    :-The cure
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    No grazie Fabian mi ha già risolto il problema ti ringrazio..

    Ciao ciao
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    In parte!! Il 'val' tronca i decimali

    :-The cure
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    Ho verificato il 'val' non tronca i valori decimali andate tranquilli...controlla solo se la select ritorna un valore NULL e in tale caso ritorna 0 altrimenti il valore ritornato dalla SELECT...

    Ciao a tutti e buone ferie
  • Re: SELECT che non fa quello che voglio AIUTO!!!!!

    Scusate mio ritardo, ma sono in ferie.

    Forse 69Giove74 ha ragione, il errore da lui indicato può verificasi con delle impostazione Internazionali diverso di:
    .=Indicatore Decimali
    ,=Indicatore Miglia
    Da noi, in Italia, normalmente è in inverso.
    Ma io non ho mai provato la funzione val in una select con dei impostazioni Internazionali di Italia. Il mio PC ha normalmente le impostazione non Italiana, cosi non mi rendo conto del errore sulle decimali. Mi dimentico sempre di fare questa verifica.

    Ciao a tutti e fate buone ferie

    Fabian
Devi accedere o registrarti per scrivere nel forum
27 risposte