Condividi tramite

query aggiornamento in base a più criteri

Anonimo
2015-03-19T15:22:45+00:00

Salve a tutti,

vorrei eseguire una query aggiornamento che operi questo risultato.

ho una query chiamata "final"; tra i suoi dati ci sono ad esempio questi due record.

(idpianoterapia)903(cognome)rossi (farmaco)omeprazolo (quantità)1 (datasomministrazione)19 marzo(idgiorno)5123

(idpianoterapia)903(cognome)rossi (farmaco)omeprazolo (quantità)1 (datasomministrazione)20 marzo(idgiorno)5124

ho una seconda query (qtamodulateqry) in cui i record sopra sono identici ma varia solo la quantità; e la quantità corretta è quella presente in qs seconda query; vorrei aggiornare la prima con i dati di questa seconda query che riporta i record così:

(idpianoterapia)903(cognome)rossi (farmaco)omeprazolo (quantità)2 (datasomministrazione)19 marzo(idgiorno)5123

idpianoterapia)903(cognome)rossi (farmaco)omeprazolo (quantità)3 (datasomministrazione)20 marzo(idgiorno)5124

eseguo la query di aggiornamento con questo codice:

UPDATE final, qtamodulateqry SET final.[piano terapia].qtà = [qtamodulateqry].[qta]

WHERE (((final.[piano terapia].IDpianoterapia)=[qtamodulateqry].[qtamodulatetbl]![IDOrigine]) AND ((final.allday.ID)=[qtamodulateqry].[allday]![ID]));

mi aggiorna correttamente i due record della query final ponendo come quantità 3 per tutti e due i record. dovrebbe aggiornare il primo record a 2 e il seconod a 3. Ho provato a collegare le due query ma senza risultati.

se questa query di aggiornamento la trasformo in una query di selezione mi estrae correttamente tutti e due i record; quando la modifico in query aggiornamento estrae un solo valore con cui andrà ad aggiornare la query in oggetto.

grazie a chi mi aiuta

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

5 risposte

Ordina per: Più utili
  1. Anonimo
    2015-03-19T18:36:23+00:00

    ciao maurizio,

    mi sembra che nell'eseguire query aggiornamento non venga correttamente tenuto conto il criterio che ho impostato sull'IDgiorno.

    quindi la query carica un record solo , ne caricherebbe due se tenesse conto del differente IDgiorno assegnato ai due record.

    Poi per prova ho eseguito la query di aggiornmento, e questa modifica il valore in entrambi i record proprio perché non tiene conto del differente IDgiorno aasegnato ai due record ( che in tutti i restanti campi hanno valori identici: stesso nome , stesso medicinale, stesso idpianoterapia).

    ciao

    sara

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-03-19T18:27:55+00:00

    Il database è Access?

    Così non va?

    UPDATE final, qtamodulateqry SET final.qtà = qtamodulateqry.qta

    WHERE final.IDpianoterapia=qtamodulateqry.IDOrigine AND final.ID=qtamodulateqry.ID;

    (Vado un po' alla cieca. Scusa.)

    EDIT:

    Ho saltato un pezzo. Voglio dire, se semplifichi le cose usando gli alias in modo da renderla più leggibile...

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-03-19T18:16:41+00:00

    Se ne vedi uno solo ne aggiornerà uno solo. A occhio la tua query pare giusta. Bisogna vedere che valori ci sono nei campi.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-03-19T18:13:29+00:00

    Ciao maurizio e grazie!

    ne vedo uno solo.

    Se della query di aggiornamento ne faccio invece una di selezione con gli stessi criteri, ne visualizzo due di record.

    grazie ancora

    sara

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-03-19T17:59:33+00:00

    Ciao Sara Morellato,

    quando sei in visualizzazione struttura query (della query di aggiornamento) e fai clic su Visualizza quanti record vedi?

    La risposta è stata utile?

    0 commenti Nessun commento