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

    utilizzo matrici in vba

    ciao a tutti ragazzi e scusate il disturbo ma ho un piccolo problema con le matrici in VBA e non riesco a risolverlo.
    ho tre tabelle

    COMMESSA(ID,descrizione)
    LAVORAZIONI(ID,nomelavorazione,costo)
    LAVORAZIONIESEGUITE(ID,data,ID_commessa,ID_lavoraz ione,ore)

    è un database che sto creando per il lavoro e ogni commessa può avere infinite lavorazioni e io devo ricavarne il costo complessivo ovvero sommatoria(lavorazioni.costo * lavorazioneeseguite.ore)

    per acquisire tutte le lavorazioni fatte in una sola commessa ho scritto questo:
    "SELECT lavorazionieseguite.ore,lavorazioni.costo FROM lavorazionieseguite LEFT JOIN lavorazioni ON lavorazionieseguite.ID_lavorazione = lavorazioni.ID WHERE ID_commessa=commessa.value"

    il valore della commessa lo acquisisco da una combobox ma quello è il meno..

    vorrei capire come lavorare con i dati acquisiti dalla SELECT in modo da ottenere il costo complessivo! la stringa in SQL mi sembra corretta ma poi è piu conveniente

    - metterla in una matrice e fare dopo la sommatoria(se è cosi non so come si possa fare)
    - oppure utilizzare SELECT SUM(lavorazionieseguite.ore*lavorazioni.costo)?

    non ho la minima idea di come funzionino entrambe se voi riuscite a darmi una mano ve ne sarei grato grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    non indichi quale database stai usando, sperando che tu possa creare una view,
    attraverso una view, io, otterrei una sola tabella
    codice:
    CREATE VIEW [dbo].[TabellaUnione] AS SELECT
    
     commessa.descrizione
    ,lavorazioni.nomelavorazione
    ,lavorazionieseguite.data
    ,lavorazioni.costo
    ,lavorazionieseguite.ore
    ,lavorazioni.costo * lavorazionieseguite.ore as costoeseguito
    ,lavorazionieseguite.ID_commessa
    ,lavorazionieseguite.ID_lavorazione
    ,lavorazionieseguite.ID as ID_lavorazioneeseguita
    FROM lavorazionieseguite
    
    LEFT JOIN lavorazioni
    ON lavorazionieseguite.ID_lavorazione = lavorazioni.ID 
    
    LEFT JOIN commessa
    ON lavorazionieseguite.ID_commessa = commessa.ID
    da questa tabella, puoi ottenere tutte le combinazioni che interessano senza curarti delle join
    ed al contempo sommando i dati come servono senza l'uso di matrici

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