[Access] Trovare un valore e sostituirlo con un altro, per tutti i record di una tabella

Anonimo
2010-01-27T18:55:47+00:00

Ed eccomi di nuovo a rompervi le scatole ^_^ stavolta ho un problema del genere:

Supponiamo una tabella "libro" con degli elementi ID,A,B,C  in cui ci sono valori presenti da una tabella "genere"di supporto,che avendo una sola voce id_genere nn è collegata con relazioni ma solo con una combo

Se l inserimento di un nuovo genere è semplice,sto trovando difficolta nel fare due operazioni

-l eliminazione di un genere

-la ridenominazione di un genere

Questo perchè non essendoci relazioni,cancellando la semplice voce,mi rimarrebbe la maschera con campi senza senso...quindi vorrei rinominarli a stringa vuota o a scelta dell utente

L operazione è simile al "trova e sostituisci tutti" che si trova in un qualsiasi programma di scrittura

Non consigliatemi di metterle in relazione (perchè cosi le modifiche avverrebbero facilmente)perchè sarebbe troppo lungo modificare tutto il resto,vi ringrazio ;)

Microsoft 365 e Office | Access | 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

Risposta accettata dall'autore della domanda

Anonimo
2010-01-28T08:33:23+00:00

Ciao,

puoi fare così:


UPDATE info

SET A = Iif(A=[Forms]![nome_maschera]![combobox],NULL,A),

      B = Iif(B=[Forms]![nome_maschera]![combobox],NULL,B),

      C = Iif(C=[Forms]![nome_maschera]![combobox],NULL,C)

WHERE A = [Forms]![nome_maschera]![combobox] OR

          B = [Forms]![nome_maschera]![combobox] OR

          C = [Forms]![nome_maschera]![combobox]


ovvero: il contenuto del campo A è uguale a quello della combo ? Se si allora lo valorizzo a NULL altrimenti lo valorizzo col suo stesso valore. La stessa cosa vale per B e C

ps. le cose diventano più complicate quando si disegna male il database

:-)

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-01-28T21:09:06+00:00

    mi chiedi se sql server potrebbe andare ?

    E' il database server che utilizzo per lavoro :-)

    La versione Express è gratuita, puoi scarcarla da qui


    Microsoft® SQL Server® 2008 Express with Tools

    http://www.microsoft.com/downloads/details.aspx?familyid=7522A683-4CB2-454E-B908-E805E9BD4E28&displaylang=it


    la miglior guida è il suo Book on line, puoi scaricarlo da qui


    Documentazione in linea di Microsoft SQL Server 2008

    http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=765433f7-0983-4d7a-b628-0a98145bcb97


    qui un esempio del contenuto della guida.


    SELECT Examples (Transact-SQL)

    http://msdn.microsoft.com/en-us/library/ms187731.aspx


    come puoi vedere è corredata di esempi.

    Segui anche il forum di Sql server

    http://social.microsoft.com/Forums/it-IT/sqlserverit/threads

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-01-28T12:15:32+00:00

    Ho notato che le cose si fanno piu complicate sbagliando le fondamenta :D e ora funziona complimenti!

    Sto notando che con access mi sto affidando troppo a wizard e cose simili,e vorrei ripartire da zero con un altro dbms studiandomi meglio l sql...sqlserver potrebbe andare? puoi consigliarmi qualche risorsa(sql + dbms) su internet/libro da cui (ri)partire?

    Grazie davvero

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-01-28T00:58:47+00:00

    Grazie davvero, ma nel mio esempio io non saprei a prescindere quale campo aggiornare,bensi dovrei aggiornare quel campo che al suo interno ha un valore che sceglie l utente         

    es. nella tabella libro ho(vedi sotto)

    ID A B C

    1 x y

    2 z

    3 y

    dove x,y,z sono generi prese da una tabella.Ora l utente deve avere la possibilita di avere una combobox in cui poter eliminare un genere.In realta l eliminazione consisterebbe nel porre a stringa vuota il campo. Es. selezionando attraverso una combobox il valore y e il risultato sarebbe

    ID A B C

    1 x

    2 z

    3

    Cosa che non riesco a fare

    UPDATE info

    SET NomeCampo = ""                                                           - Nomecampo...quale tra a b e c?

    WHERE A = [Forms]![nome_maschera]![combobox] OR

              B = [Forms]![nome_maschera]![combobox] OR

              C = [Forms]![nome_maschera]![combobox]

    Spero di essere stato chiaro

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-01-27T20:08:34+00:00

    Ciao NikkySixx,

    puoi farlo con una query di aggiornamento avente il seguente codice SQL


    UPDATE NomeTabella

        SET NomeCampo = 'Y'

    WHERE NomeCampo = 'X'


    Ovvero modifica il contenuto di NomeCampo in "Y" in tutte le righe dove NomeCampo è = 'X'

    Vedi anche:


    Creare una query di aggiornamento

    http://office.microsoft.com/it-it/access/HA100765271040.aspx


    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento