Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    ACCESS 2007 utilizzo della SELECT

    Ciao a tutti! sono nuovo di questo forum e volevo chiedervi già un favore.

    sto facendo in access un daabatabe per il mio capo.. molto semplice piccola azienda quindi di utilizzo limitato ma trovo difficoltà nello sviluppare una sua richiesta. in una maschera di riassunto finale devo potergli mostrare tutti i costi (ovvero - costo materiali, costo lavorazioni esterne, costo trattamenti termici), il prezzo di vendita della commessa, il totale delle spese e il guadagno.. fino a qui tutto ok.

    inoltre lui mi ha richiesto di aggiungere un al' altro tipo di spesa ovvero COSTO LAVORAZIONE OPERAI.
    io ho una tabella lavorazioni (con ID,nomelavorazione,costoorario) e una lavorazioni_eseguite, con dentro nome dipendente commessa lavorazione e ore di lavorazione..

    io devo poter trovare tutte le lavorazioni fatte su una commessa (quindi con una normale SELECT) e qua ok ma poi devo moltiplicare le ore per ogni costoorario della lavorazione ad esse annessa! ovvero se io per una commessa faccio 3 ore dilavorazione1,5 di lavorazione2 ecc alla fine devo poter ottenere questo risultato:
    tot=(costoorario1 * oredilavorazione1) + (costoorario2 * oredilavorazione2) + ..ecc

    ma non riesco a trovare una combinazione giusta di SQL che renda possibile questa cosa!
    mi sono impuntato sulla SELECT ma non so se è corretta perche so che può restituire solo valori ma se faccio DoCmd.RunSQL(stringa) mi dice "prevista function o variabile" eppure tutte le librerie sono presenti per utilizzo anche INSERT INTO ecc..non riesco proprio a capire come sviluppare questa parte di programma!
    per favore aiuto!

  2. #2
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,706
    non che abbia capito senza il db in mano
    se vuoi usare una select fai la join delle tabelle, metti i parametri di filtraggio e un campo espr che fa il calcolo
    senza il db non saprei essere più preciso
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  3. #3
    Quote Originariamente inviata da Misterxxx Visualizza il messaggio
    non che abbia capito senza il db in mano
    se vuoi usare una select fai la join delle tabelle, metti i parametri di filtraggio e un campo espr che fa il calcolo
    senza il db non saprei essere più preciso
    se vuoi semplifico il tutto specificandoti le tabelle:
    -LAVORAZIONI

    ID
    nome_lavorazione
    costo_orario

    -LAVORAZIONIESEGUITE

    ID
    ID_dipendente
    ID_commessa
    ID_lavorazioni
    ore_di_lavorazione

    devo acquisire tutte le lavorazioni fatte a una data commessa dalla tabella LAVORAZIONIESEGUITE, e di ogni lavorazione acquisita devo poterla moltiplicare con il suo costo orario presente nell' altra tabella ovvero LAVORAZIONI. cosi ottengo il costo definitivo di tutte le lavorazioni fatte su una commessa data

    non sono obbligato a usare una select, poi io essendo poco pratico di sql ho perfino difficoltà a usare select sum() in quanto non riesco a farmi restituire nessun valore ma anzi mi da errori di run time continui
    Ultima modifica di ravasiolorenzo; 22-04-2016 a 15:56

  4. #4
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,706
    ti consiglio allora di usare la dlookup che ti restituisce il campo da moltiplicare
    guarda quì: https://support.office.com/it-it/art...b-bed10dca5937
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  5. #5
    grazie mille! adesso la guardo e vedo subito poi ti faccio sapere!Grazie !

  6. #6
    ho letto e testato la Dlookup ma non credo faccia a caso mio perchè io ho più lavorazioni per ogni commessa e non mi pare si possa utilizzare,

    TAB.lavorazioni

    ID-----nomelav------costoorario
    1------smontaggio------10
    2------montaggio-------25
    3------saldatura--------20
    ...

    TAB.lavorazionieseguite

    ID-----ID_commessa-----ID_lavorazione----oredilavoro
    1----------001-------------------1-----------------8.5
    2----------002-------------------2-----------------1.5
    3----------001-------------------3-----------------4
    4----------005-------------------2-----------------15
    5----------001-------------------2-----------------3.5

    se io dovessi controllare i costi della commessa 001 dovrei prendere tutte le lavorazioni fatte su quella commessa e moltiplicarle per il costo orario, quindi risulterebbe

    commessa 001
    ID_lavorazione 1-->10€*8.5
    ID_lavorazione 3-->20€*4
    ID_lavorazione 2-->25€*3.5

    quindi il costo totale mi risulterebbe (10*8.5+20*4+25*3.5)=252.5

    e la Dlookup non mi sembra adatta al mio scopo.. poi ripeto non sono molto pratico di SQL quindi probabilmente non ho capito io bene la funzione o non so bene come strutturarla
    Ultima modifica di ravasiolorenzo; 22-04-2016 a 17:03

  7. #7
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,706
    hai provato una cosa tipo:
    costodefinitivolavorazione = ore_di_lavorazione * Dlookup(costo_orario;LAVORAZIONI;ID=ID_lavorazioni )
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  8. #8
    si ma mi da "necessario oggetto" è proprio quello che mi manda in confusione

  9. #9
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,706
    Quote Originariamente inviata da ravasiolorenzo Visualizza il messaggio
    si ma mi da "necessario oggetto" è proprio quello che mi manda in confusione
    i riferimenti agli oggetti sono errati, controlla la sintassi
    edit:
    io non ho scritto probabilmente quella esatta
    usa le parentesi quadre se hai spazi e riferimenti diretti sulla maschera aperta
    e anche gli apici, vanno usati ...
    Ultima modifica di Misterxxx; 22-04-2016 a 17:20
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  10. #10
    stasera cercherò di provarla bene e controllarla poi ti farò sapere intanto grazie mille!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.