Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535

    Microsoft Access: Query di aggiornamento senza parametri

    Ho due tabella PIPPO e PAPERINO

    PIPPO ha i seguenti campi: uno, due, tre, quattro solo i campi uno e due sono valorizzati

    PAPERINO ha i seguenti campi : uno, due, tre, quattro tutti i campi sono valorizzati e i campi uno e due contengono gli stessi dati della tabella PIPPO.

    Io devo valorizzare i campi tre e quattro della tabella PIPPO mettendo dentro i valori contenuti nella tabella PAPERINO.


    Per cui con access ho creato le due tabelle (di una ho effettuato il collegamento ).
    E ho creato una query manuale con questa istruzione:


    UPDATE PIPPO INNER JOIN PAPERINO ON PIPPO.uno = TPAPERINO.uno SET PIPPO.due = PAPERINO.due, PIPPO.tre = PAPERINO.tre, PIPPO.quattro = PAPERINO.quattro
    WHERE (((PIPPO.uno)=[PAPERINO].[uno]) AND ((PIPPO.due)=[PAPERINO].[due]));


    Quando però effetto l'esecuzione della query mi viene fuori la pop-up : Immissione parametro.

    Cosa sbaglio???

    Grazie a tutti!!

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    mi sa che non si possono usare le joint con l'update..cmq così dovrebbe andare:
    codice:
    update tab1
    set tab1.campo3 = tab2.campo3, tab1.campo4=tab2.campo4
    from tab2
    where tab1.campo1=tab2.campo2 and tab1.campo2=tab2.campo2

  3. #3
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535
    Originariamente inviato da darkblOOd
    mi sa che non si possono usare le joint con l'update..cmq così dovrebbe andare:
    codice:
    update tab1
    set tab1.campo3 = tab2.campo3, tab1.campo4=tab2.campo4
    from tab2
    where tab1.campo1=tab2.campo2 and tab1.campo2=tab2.campo2
    l'inner join me l'ha creata lui in automatico :master:

  4. #4
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    111

    Re: Microsoft Access: Query di aggiornamento senza parametri

    Originariamente inviato da Elena78
    Ho due tabella PIPPO e PAPERINO

    PIPPO ha i seguenti campi: uno, due, tre, quattro solo i campi uno e due sono valorizzati

    PAPERINO ha i seguenti campi : uno, due, tre, quattro tutti i campi sono valorizzati e i campi uno e due contengono gli stessi dati della tabella PIPPO.

    Io devo valorizzare i campi tre e quattro della tabella PIPPO mettendo dentro i valori contenuti nella tabella PAPERINO.


    Per cui con access ho creato le due tabelle (di una ho effettuato il collegamento ).
    E ho creato una query manuale con questa istruzione:


    UPDATE PIPPO INNER JOIN PAPERINO ON PIPPO.uno = TPAPERINO.uno SET PIPPO.due = PAPERINO.due, PIPPO.tre = PAPERINO.tre, PIPPO.quattro = PAPERINO.quattro
    WHERE (((PIPPO.uno)=[PAPERINO].[uno]) AND ((PIPPO.due)=[PAPERINO].[due]));


    Quando però effetto l'esecuzione della query mi viene fuori la pop-up : Immissione parametro.

    Cosa sbaglio???

    Grazie a tutti!!

    quando viene fuori il pop up del parametro vuol dire che un campo è errato... controlla bene tutti i campi se sonon giusti.

  5. #5
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da Elena78
    l'inner join me l'ha creata lui in automatico :master:

    io ho provato in quel modo e funziona

    a volte le autogenerazioni creano problemi, personalmente non le uso mai

    e poi manca la SET

  6. #6
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535

    Re: Re: Microsoft Access: Query di aggiornamento senza parametri

    Originariamente inviato da laccamen
    quando viene fuori il pop up del parametro vuol dire che un campo è errato... controlla bene tutti i campi se sonon giusti.
    I campi sono corretti perchè li ho selezionati dalla struttura della query.. non li ho digitati..

    @ Dark: UPDATE PIPPO INNER JOIN PAPERINO ON PIPPO.uno = TPAPERINO.uno SET PIPPO.due = PAPERINO.due, PIPPO.tre = PAPERINO.tre, PIPPO.quattro

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    non l'aevo visto, scusa

    cmq prova a commentare il codice che ti ha generato lui e metti questo
    codice:
    update PIPPO
    set PIPPO.tre = PAPERINO.tre, PIPPO.quattro=PAPERINO.quattro
    from PAPERINO
    where PIPPO.uno=PAPERINO.uno and PIPPO.uno=PAPERINO.uno
    se funziona che ti frega della join? se propio la devi mettere adesso vedo la documentazione cmq penso che in ogni caso dovrebbe andare DOPO la set e non prima

    stando a quanto dice la documentazione:
    UPDATE
    Modifica i dati esistenti in una tabella.

    Sintassi
    UPDATE
    {
    table_name WITH ( < table_hint_limited > [ ...n ] )
    | view_name
    | rowset_function_limited
    }
    SET
    { column_name = { expression | DEFAULT | NULL }
    | @variable = expression
    | @variable = column = expression } [ ,...n ]

    { { [ FROM { < table_source > } [ ,...n ] ]

    [ WHERE
    <search_condition> ] }
    |
    [ WHERE CURRENT OF
    { { [ GLOBAL ] cursor_name } | cursor_variable_name }
    ] }
    [ OPTION ( < query_hint > [ ,...n ] ) ]

    < table_source > ::=
    table_name [ [ AS ] table_alias ] [ WITH ( < table_hint > [ ,...n ] ) ]
    | view_name [ [ AS ] table_alias ]
    | rowset_function [ [ AS ] table_alias ]
    | derived_table [ AS ] table_alias [ ( column_alias [ ,...n ] ) ]
    | < joined_table >

    < joined_table > ::=
    < table_source > < join_type > < table_source > ON < search_condition >
    | < table_source > CROSS JOIN < table_source >
    | < joined_table >

    < join_type > ::=
    [ INNER | { { LEFT | RIGHT | FULL } [OUTER] } ]
    [ < join_hint > ]
    JOIN

    < table_hint_limited > ::=
    { FASTFIRSTROW
    | HOLDLOCK
    | PAGLOCK
    | READCOMMITTED
    | REPEATABLEREAD
    | ROWLOCK
    | SERIALIZABLE
    | TABLOCK
    | TABLOCKX
    | UPDLOCK
    }

    < table_hint > ::=
    { INDEX ( index_val [ ,...n ] )
    FASTFIRSTROW
    | HOLDLOCK
    | NOLOCK
    | PAGLOCK
    | READCOMMITTED
    | READPAST
    | READUNCOMMITTED
    | REPEATABLEREAD
    | ROWLOCK
    | SERIALIZABLE
    | TABLOCK
    | TABLOCKX
    | UPDLOCK
    }

    < query_hint > ::=
    { { HASH | ORDER } GROUP
    | { CONCAT | HASH | MERGE } UNION
    | { LOOP | MERGE | HASH } JOIN
    | FAST number_rows
    | FORCE ORDER
    | MAXDOP
    | ROBUST PLAN
    | KEEP PLAN
    }

  8. #8
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    111

    Re: Re: Re: Microsoft Access: Query di aggiornamento senza parametri

    Originariamente inviato da Elena78
    I campi sono corretti perchè li ho selezionati dalla struttura della query.. non li ho digitati..

    @ Dark: UPDATE PIPPO INNER JOIN PAPERINO ON PIPPO.uno = TPAPERINO.uno SET PIPPO.due = PAPERINO.due, PIPPO.tre = PAPERINO.tre, PIPPO.quattro

    non so se ti è già riuscito comunque a me cosi funziona


    UPDATE paperino INNER JOIN pippo ON (paperino.campo2 = pippo.campo2) AND (paperino.Campo1 = pippo.Campo1) SET pippo.campo3 = [paperino].[campo3], pippo.campo4 = [paperino].[campo4];

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.