Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [access] formule diverse in una query

    Ciao ragazzi,

    vi spiego qual è il problema!

    Un tabella è così composta



    Vorrei creare una query per farmi restituire un valore che dovrebbe calcolare il peso per ogni categoria di prodotto!

    Dovrei creare qualcosa del genere:

    se categoria=lamiera allora fai la moltiplicazione col1*colo3*col5*pesospecifico

    se categoria=tubo allora fai e metto la formula per calcolare il peso di un tubo!

    Chi mi aiuta?

    Non sono molto pratico per le formule di access!

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ma parli di scrivere una formula di access, o di effettuare una query sql?

  3. #3
    no una formula di access!

    Ma anche sql va bene, se mi spiegate come si fa

  4. #4
    Le formule sono le seguenti:



    LAMIERA= DIM1*DIM2*DIM3*0.00000785

    TUBO= DIM1^2-(DIM1-2*DIM2)^2*PIGRECO*0.25*DIM3*0.00000785

    TONDO= DIM1^2*PIGRECO*0.25*DIM2*0.00000785

    TUBO RETTANGOLARE= [DIM1*DIM2-(DIM1-DIM3*2)*(DIM2-DIM3*2)]*DIM4*0.00000785

    PIATTO= DIM1*DIM2*DIM3*0.00000785 è uguale alla lamiera

    ANELLO= (DIM1^2-DIM3^2)*PIGRECO*0.25*DIM2*0.00000785

    DISCO= DIM1^2*PIGRECO*0.25*DIM2*0.00000785 è uguale al tondo



    Questo è il codice sql della query



    SELECT dettaglirda.quantita, dettaglirda.udm, dettaglirda.idcategoria AS rda_idcategoria, dettaglirda.idprofili, categoria.[1], dettaglirda.dim1, categoria.[2], dettaglirda.dim2, categoria.[3], dettaglirda.dim3, categoria.[4], dettaglirda.dim4, dettaglirda.idqualitamateriale, 0 AS [Peso Unitario], [Peso Unitario]*[quantita] AS [Peso Totale], dettaglirda.dataconsegna
    FROM categoria INNER JOIN dettaglirda ON categoria.idcategoria = dettaglirda.idcategoria;




    Questa è l'immagine della tabella che ho modificato






    Help

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ciao,

    vorrei aiutarti, ma purtroppo non conosco affatto access, ne tantomeno le possibilita di inserire l'opportuna grammatica sql.

    io utilizzo Firebird sql, e nel mio caso il tuo problema sarebbe risolvibile utilizzanto il comando 'if' o 'case' all'interno della query.

    prova a dare un'occhiata qui

    http://bytes.com/topic/access/answer...l-version-case


    prova a cercare su google 'access sql if case'

    ciao

  6. #6
    Problema risolto con una formula di questo tipo

    Calcolo: IIf([2a dettOrdineCliente].[idmateriali]=1 Or [2a dettOrdineCliente].[idmateriali]=5;[2a dettOrdineCliente].[dim1]*[2a dettOrdineCliente].[dim2]*[2a dettOrdineCliente].[dim3]*0,00000785;IIf([2a dettOrdineCliente].[idmateriali]=2;([2a dettOrdineCliente].[dim1]^2-([2a dettOrdineCliente].[dim1]-2*[2a dettOrdineCliente].[dim2])^2)*3,14*0,25*[2a dettOrdineCliente].[dim3]*0,00000785;IIf([2a dettOrdineCliente].[idmateriali]=3 Or [2a dettOrdineCliente].[idmateriali]=7;[2a dettOrdineCliente].[dim1]^2*3,14*0,25*[2a dettOrdineCliente].[dim2]*0,00000785;IIf([2a dettOrdineCliente].[idmateriali]=4;([2a dettOrdineCliente].[dim1]*[2a dettOrdineCliente].[dim2]-([2a dettOrdineCliente].[dim1]-[2a dettOrdineCliente].[dim3]*2)*([2a dettOrdineCliente].[dim2]-[2a dettOrdineCliente].[dim3]*2))*[2a dettOrdineCliente].[dim4]*0,00000785;IIf([2a dettOrdineCliente].[idmateriali]=6;([2a dettOrdineCliente].[dim1]^2-[2a dettOrdineCliente].[dim3]^2)*3,14*0,25*[2a dettOrdineCliente].[dim2]*0,00000785;0)))))

    Ciao e grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.