AGGIORNAMENTO CAMPI MULTIVALORI

di il
14 risposte

AGGIORNAMENTO CAMPI MULTIVALORI

Domadina: 

Premesso: 

a) Ho utilizzato un campo multivalori nella mia tabella, dove caratterizzo un dipendente con i multicriteri e  Ho una query che mi calcola l'età in quanto valore volatile.

b) Al compimento dei 50 anni, devo aggiornare il campo con un “over50” - cioe' andrebbe inserito nel campo questo item…

non c'è verso di far funzionare la query cosa sto facendo di sbagliato? 

grazie mille a chi mi risponde!

14 Risposte

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    Ciao, come va?

    ascolta una cosa, solo vedendo uno spaccato delle due tabelle, già ci sono diverse cosine che non vanno

    • rivedi la Chiave Primaria
      • per esempio in tabella CalcoloEtaQ non vedo la chiave primaria e questo non va bene 
    • Ridondanza dei dati:
      • Cognome e Nome sono due campi ripetuti nelle due tabelle e questo non va bene 
    • Relazione Tabelle
      • Sarebbe necessario che nella tabella T_Anagrafica esistesse un campo IDCalcoloEtaQ da relazionare con l'Id Chiave Primaria della tabella CalcoloEtaQ

    Domanda… CalcoloEtaQ è una Query o una Tabella? perchè se è una query le cose cambiano…. 


    Nella Query:

    Il campo IDMansione, essendo definito come Id si presume sia un campo di tipo numerico, non può assumere un valore di tipo stringa.

    Se è numerico e rappresenta un campo chiave, devi assegnare a IDMansione un valore numero che è l'indice della chiave corrispondente all'elemento “over50”


    Ma gli elementi, per discernere e capire meglio lo stato delle due tabelle, sono pochi e si può solo azzardare delle ipotesi.
    Sarebbe utile avere lo screenshot delle strutture delle due tabelle e le relative relazioni che hai realizzato.

    12/07/2023 - Pattygirl ha scritto:


    b) Al compimento dei 50 anni, devo aggiornare il campo con un “over50” - cioe' andrebbe inserito nel campo questo item…

    Se hai inserito la data di nascita in Tabella T_Anagrafica, per sapere se il soggetto è over 50 ti basta calcolarlo in tempo reale là dove occorre visualizzarlo, che sia una Form, un Report, etc…


    In pratica sarebbe necessario capire meglio il flusso delle informazioni. 
    L'origine del calcolo, dove deve essere visibile e come e/o dove lo devi utilizzare.

    ;-)

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    Che significano : Campi multivalore e multicriteri?

    Mi dispiace dirlo, ma cancella tutto e ricomincia.

    Se vuoi aggiornare un campo, devi usare una query di aggiornamento e questa non sembra esserlo.

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    12/07/2023 - Pattygirl ha scritto:

    a) Ho utilizzato un campo multivalori nella mia tabella, …

    No, no ed aggiungo no. Non usare i campi multivalore. Belli da vedere con la casellina di spunta… una meraviglia, eh? Portatori di grattacapi in tutte le altre situazioni. Vai con la classica tabella in relazione uno a molti.

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    Crea un campo calcolato nella tabella anagrafica (data di nascita dovrebbe appartenere alla tabella anagrafica), non hai bisogno di query ne di collegamenti per questo.

    il campo calcolato di tipo testo e':

    =IIf([Datanascita]-data()<50,"Under50","Over50")

    (mi state facendo spolverare access…)

    Do ragione a Fratac e By65Franco che fanno sforzi immani per interpretare quello che un addetto ai lavori spiega in una sola parola.

    Un forum dovrebbe essere un luogo di scambio di esperienze, tu non dai l'impressione di avere esperienze, il flusso delle informazioni è unidirezionale sia lato progettazione che linguaggio. lo stesso vale per l'argomento. se devo progettare un programma che scrive musica sul pentagramma alla pressione dei tasti, prima di tabelle e linguaggio di programmazione devo studiare musica.

    Cerca di capire le basi di come si trattano i dati in qualunque database; relazioni, query, campi calcolati, poi puoi dedicarti allo studio del progetto da realizzare. 

    12/07/2023 - Pattygirl ha scritto:


    a) Ho utilizzato un campo multivalori nella mia tabella, dove caratterizzo un dipendente con i multicriteri e  Ho una query che mi calcola l'età in quanto valore volatile.

    Non ti serve una query ma un campo calcolato di tipo testo.

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    13/07/2023 - sihsandrea ha scritto:


    Non ti serve una query ma un campo calcolato di tipo testo.

    Occhio che il campo calcolato è un vero e proprio campo fisico all'interno della tabella facente parte di un record. E non è testo, ma numerico.

    Una text box, dove si fa un calcolo in base a dei valori di altri campi è un'altra cosa.

    Penso che quello che a cui fai riferimento è una casella di testo e non ad un vero campo.

    Solitamente si tenta di non usare veri campi calcolati fisici, per problemi legati alla portabilità del database e ad una questione di ridondanza di dati e violazione della normalizzazione. Anche se in questo caso il problema non sussiste e potrebbe essere una soluzione.

    Tutto poi dipende da quello che vuole realizzare.
    Se vuole aggiornare fisicamente i record, oppure semplicemente visualizzare a video il dato, senza modificare i record.

    Non è per fare il pignolo, ma c'è il serio rischio di creargli ancora più confusione.

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    13/07/2023 - By65Franco ha scritto:


    Ciao, come va?

    ascolta una cosa, solo vedendo uno spaccato delle due tabelle, già ci sono diverse cosine che non vanno

    • rivedi la Chiave Primaria
      • per esempio in tabella CalcoloEtaQ non vedo la chiave primaria e questo non va bene 
    • Ridondanza dei dati:
      • Cognome e Nome sono due campi ripetuti nelle due tabelle e questo non va bene 
    • Relazione Tabelle
      • Sarebbe necessario che nella tabella T_Anagrafica esistesse un campo IDCalcoloEtaQ da relazionare con l'Id Chiave Primaria della tabella CalcoloEtaQ 

    Domanda… CalcoloEtaQ è una Query o una Tabella? perchè se è una query le cose cambiano…. 


    Nella Query:

    Il campo IDMansione, essendo definito come Id si presume sia un campo di tipo numerico, non può assumere un valore di tipo stringa.

    Se è numerico e rappresenta un campo chiave, devi assegnare a IDMansione un valore numero che è l'indice della chiave corrispondente all'elemento “over50”


    Ma gli elementi, per discernere e capire meglio lo stato delle due tabelle, sono pochi e si può solo azzardare delle ipotesi.
    Sarebbe utile avere lo screenshot delle strutture delle due tabelle e le relative relazioni che hai realizzato.

    12/07/2023 - Pattygirl ha scritto:


    b) Al compimento dei 50 anni, devo aggiornare il campo con un “over50” - cioe' andrebbe inserito nel campo questo item…

    Se hai inserito la data di nascita in Tabella T_Anagrafica, per sapere se il soggetto è over 50 ti basta calcolarlo in tempo reale là dove occorre visualizzarlo, che sia una Form, un Report, etc…


    In pratica sarebbe necessario capire meglio il flusso delle informazioni. 
    L'origine del calcolo, dove deve essere visibile e come e/o dove lo devi utilizzare.

    Ciao tutto bene grazie ??

    Allora, io ho un campo multivalori all'interno della mia tabella. Ho usato il nome ID perché appunto funge da identificatore. 

    Il campo età è calcolato in una query perché mi serve come parametro per poter fare delle lavorazione del database 

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    13/07/2023 - fratac ha scritto:


    Che significano : Campi multivalore e multicriteri?

    Mi dispiace dirlo, ma cancella tutto e ricomincia.

    Se vuoi aggiornare un campo, devi usare una query di aggiornamento e questa non sembra esserlo.

    Si si è una query di aggiornamento… Guarda bene l'immagine 

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    Comunque grazie dei consigli, adesso lo so che è una gatta da pelare, ma devo assolutamente sapere come si aggiorna questo campo 

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    13/07/2023 - Pattygirl ha scritto:


    Comunque grazie dei consigli, adesso lo so che è una gatta da pelare, ma devo assolutamente sapere come si aggiorna questo campo 

    Ti conviene cambiare completamente approccio.

    Quindi ricreare altre tabelle ed altre relazioni suddividendo i relativi valori in altrettanti campi separati in una altra tabella.

    I campi multivalore sono i più snobbati dai programmatori, proprio perchè nel modo classico, con una riga di codice o una query, si ottiene il risultato, che con i campi multivalore implica invece ragionamenti e gestione di codice molto più complessi.

    Non li uso, ma a naso per fare  quello che vuoi fare, dovresti caricare il campo multivalore da modificare, individuare e suddividere il dato da aggiornare, creare una routine che ti individui quel dato, modificarlo, poi creare una nuova sub routine che ti vada a ricreare il campo multivalore con i dati modificati e poi salvarlo.

    Tutto questo lavoro a che pro?

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    13/07/2023 - fratac ha scritto:


    13/07/2023 - Pattygirl ha scritto:


    Comunque grazie dei consigli, adesso lo so che è una gatta da pelare, ma devo assolutamente sapere come si aggiorna questo campo 

    Ti conviene cambiare completamente approccio.

    Quindi ricreare altre tabelle ed altre relazioni suddividendo i relativi valori in altrettanti campi separati in una altra tabella.

    I campi multivalore sono i più snobbati dai programmatori, proprio perchè nel modo classico, con una riga di codice o una query, si ottiene il risultato, che con i campi multivalore implica invece ragionamenti e gestione di codice molto più complessi.

    Non li uso, ma a naso per fare  quello che vuoi fare, dovresti caricare il campo multivalore da modificare, individuare e suddividere il dato da aggiornare, creare una routine che ti individui quel dato, modificarlo, poi creare una nuova sub routine che ti vada a ricreare il campo multivalore con i dati modificati e poi salvarlo.

    Tutto questo lavoro a che pro?

    Ci ragiono su… Vedo se comporta grossi casini fare dei cambi adesso che ho il mio DB funzionante.  Grazie cmq per la risposta 

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    13/07/2023 - fratac ha scritto:


    13/07/2023 - sihsandrea ha scritto:


    Non ti serve una query ma un campo calcolato di tipo testo.

    Occhio che il campo calcolato è un vero e proprio campo fisico all'interno della tabella facente parte di un record. E non è testo, ma numerico.

    Una text box, dove si fa un calcolo in base a dei valori di altri campi è un'altra cosa.

    Penso che quello che a cui fai riferimento è una casella di testo e non ad un vero campo.

    Solitamente si tenta di non usare veri campi calcolati fisici, per problemi legati alla portabilità del database e ad una questione di ridondanza di dati e violazione della normalizzazione. Anche se in questo caso il problema non sussiste e potrebbe essere una soluzione.

    Tutto poi dipende da quello che vuole realizzare.
    Se vuole aggiornare fisicamente i record, oppure semplicemente visualizzare a video il dato, senza modificare i record.

    Non è per fare il pignolo, ma c'è il serio rischio di creargli ancora più confusione.

    intendevo questo:

    https://support.microsoft.com/it-it/office/usare-il-generatore-di-espressioni-56214db9-8b54-44f3-bc19-2a55427b5d4c

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    Grazie a tutti per le risposte.

    Il campo calcolato mi serve sia nella maschera che in una query che ho creato apposta. Dopo di che nelle maskere vado a pescare quando mi serve con Dlookup. per ora funziona tutto alla grande!

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    14/07/2023 - Pattygirl ha scritto:


    Grazie a tutti per le risposte.

    Il campo calcolato mi serve sia nella maschera che in una query che ho creato apposta. Dopo di che nelle maskere vado a pescare quando mi serve con Dlookup. per ora funziona tutto alla grande!

    Brava !!! …ma fai attenzione ad non abusare dei Dlookup e altre funzione di questo genere… sono poco performanti.

  • Re: AGGIORNAMENTO CAMPI MULTIVALORI

    14/07/2023 - By65Franco ha scritto:


    14/07/2023 - Pattygirl ha scritto:


    Grazie a tutti per le risposte.

    Il campo calcolato mi serve sia nella maschera che in una query che ho creato apposta. Dopo di che nelle maskere vado a pescare quando mi serve con Dlookup. per ora funziona tutto alla grande!

    Brava !!! …ma fai attenzione ad non abusare dei Dlookup e altre funzione di questo genere… sono poco performanti.

    :) Grazie del suggerimento, infatti nel mio DB ho usato solo per l'eta :)

Devi accedere o registrarti per scrivere nel forum
14 risposte