IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Access
  New Posts New Posts RSS Feed - [RISOLTO]Consiglio query accodamento
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


REGISTRATEVI su IALWeb forum!

[RISOLTO]Consiglio query accodamento

 Post Reply Post Reply Page  12>
Author
Message Reverse Sort Order
Fabio76 View Drop Down
Utente Senior
Utente Senior


Joined: 12/Giu/2008
Location: Italy
Status: Offline
Points: 309
Post Options Post Options   Thanks (0) Thanks(0)   Quote Fabio76 Quote  Post ReplyReply Direct Link To This Post Topic: [RISOLTO]Consiglio query accodamento
    Posted: 09/Gen/2019 at 21:30
Il motivo per il quale ho tre righe descrizioni deriva dalla tabella del gestionale descrizioni lingue: stringhe max 40 caratteri per ogni codice articolo nel numero max di 90 righe per lingua.
E solo nel mio caso che per ogni articolo ho max tre righe per lingua (se uno volesse scrivere un poema potrebbe arrivare a 90 righe....ma sai che conferma d'ordine? Smile 10 fogli A4 per la vendita di un articolo....)
Cmq proviamo a fare una query e concatenare in modo da ottenere una tabella del con unica riga per ogni codice descrizione.
Back to Top
Sponsored Links


Back to Top
willy55 View Drop Down
Moderatore
Moderatore
Avatar
Esperto di Access

Joined: 03/Ago/2011
Location: Italy
Status: Offline
Points: 10404
Post Options Post Options   Thanks (0) Thanks(0)   Quote willy55 Quote  Post ReplyReply Direct Link To This Post Posted: 08/Gen/2019 at 23:43
Viene da chiedersi quale sia il motivo di avere 3 righe di descrizioni (in lingua inglese per lo stesso articolo) dal momento che potresti impiegare un unico campo di tipo testo (fino a 255 caratteri) o un tipo memo (se hai necessità più ampie).
In ogni caso se vuoi proseguire nella tua strada ti ho già indicato, precedentemente, la soluzione (della funzione ConcatRelated di Allen Browne) che effettua proprio la concatenazione (a parità di codice) dei vari testi correlati alla chiave.

Willy
Back to Top
Fabio76 View Drop Down
Utente Senior
Utente Senior


Joined: 12/Giu/2008
Location: Italy
Status: Offline
Points: 309
Post Options Post Options   Thanks (0) Thanks(0)   Quote Fabio76 Quote  Post ReplyReply Direct Link To This Post Posted: 08/Gen/2019 at 20:59
Piccola precisazione: quando carico la maschera attuale, quella che ho modificato, ottengo solo le righe in lingua relative alla nazione dell'ordine cliente (lasciamo stare la spiegazione del perchè...basta sapere che posso farlo...e lo faccio già)
Quindi attualmente la mia nuova maschera-sottomaschera è così:

Maschera
Articolo Quantità Descrizione (di anagrafica articoli sempre IT)
    x            2       Scheda elettronica 1500 w 15 ampere

Sottomaschera

Articolo Riga_Descrizione Descrizione_Lingua
   x 1 Electronic board 1500w 15 amps
   x 2 for computers model xc 2552
   x 3 white colour.

Ora andando nel report riesco ad ottenere una cosa così controllando con la riga descrizione le varie parti del testo?
Mi verrebbe da dire di si è rispetto a quando ho approcciato il problema mi sembra anche una soluzione abbastanza semplice.

Q.ta Articolo Descrizione
2         x         Scheda elettronica 1500 w 15 ampere
      Electronic board 1500w 15 amps for computers model xc 2552 white colour.

Anche se credo incapperò in un altro problema




Back to Top
willy55 View Drop Down
Moderatore
Moderatore
Avatar
Esperto di Access

Joined: 03/Ago/2011
Location: Italy
Status: Offline
Points: 10404
Post Options Post Options   Thanks (0) Thanks(0)   Quote willy55 Quote  Post ReplyReply Direct Link To This Post Posted: 07/Gen/2019 at 16:51
Originally posted by Fabio76 Fabio76 wrote:

Prima domanda: mi conviene caricare la descrizione in lingua in una sottomaschera?
Considerate che vederla quando si caricano i dati è ininfluente: a me serve perché venga stampata sul report.
Che vantaggi ho se le carico in sottomaschera? Posso andare in report con i campi che mi interessano?

Non vi sono problematiche particolari ad implementare un report che presenti le informazioni volute nella giusta disposizione e contenuto.
Per quanto riguarda l’impiego di maschera e sotto-maschera è da tenere presente che qualora (per ciascun articolo) si hanno le diverse descrizioni (oltre a quella in italiano) nelle varie lingue  (in relazione 1<->N) avremo la maschera (con i dati del codice articolo - lato 1) e sotto-maschera inserendo le varie descrizioni - lato N) in tal modo si avrà una visione immediata (e opportunità di caricamento) di tutte le descrizioni (nelle varie lingue) dell'articolo stesso sfruttando il legame nei controlli Master/Child (messi a disposizione da Access) senza la necessità di apposite query.
.

Willy
Back to Top
Fabio76 View Drop Down
Utente Senior
Utente Senior


Joined: 12/Giu/2008
Location: Italy
Status: Offline
Points: 309
Post Options Post Options   Thanks (0) Thanks(0)   Quote Fabio76 Quote  Post ReplyReply Direct Link To This Post Posted: 06/Gen/2019 at 09:54
Facciamo un passo indietro e vediamo se devo cambiare struttura al mio DB.
Allora in maschera carico cod articolo descrizione it e descrizione lingua.
Da adesso ho il problema che la descrizione lingua è uno a molti.
Soluzione poco elegante= aggiungo il criterio sulla query di creazione tabella che carichi solo la riga descrizione 01; problema risolto perdendo parte della descrizione in lingua sull'etichetta.
Evitando questo:
Prima domanda: mi conviene caricare la descrizione in lingua in una sottomaschera?
Considerate che vederla quando si caricano i dati è ininfluente: a me serve perchè venga stampata sul report.
Che vantaggi ho se le carico in sottomaschera? Posso andare in report con i campi che mi interessano?

Lo so è un pò difficile spiegare senza vedere il giro completo delle query
Back to Top
willy55 View Drop Down
Moderatore
Moderatore
Avatar
Esperto di Access

Joined: 03/Ago/2011
Location: Italy
Status: Offline
Points: 10404
Post Options Post Options   Thanks (0) Thanks(0)   Quote willy55 Quote  Post ReplyReply Direct Link To This Post Posted: 14/Dic/2018 at 15:48
Non indichi in quale modo, delle 90 descrizioni, ne prendi in esame solo 3 (ad esempio per lingua "GB") in ogni caso per avere i dati (in base ai criteri di selezione) delle tre descrizioni fra loro concatenate puoi impiegare la funzione ConcatRelated di Allen Browne:
http://allenbrowne.com/func-concat.html
Willy
Back to Top
Fabio76 View Drop Down
Utente Senior
Utente Senior


Joined: 12/Giu/2008
Location: Italy
Status: Offline
Points: 309
Post Options Post Options   Thanks (0) Thanks(0)   Quote Fabio76 Quote  Post ReplyReply Direct Link To This Post Posted: 14/Dic/2018 at 14:44

La descrizione è sempre la stessa.

La tabella del gestionale delle descrizioni in lingua ho detto che può contenere fino a 90 righe di descrizione per lingua e articolo ma nel mio caso non supero mai le tre per l' articolo.

La tabella delle descrizioni in lingua attualmente (da quando abbiamo un gestionale serio ovvero più di 20 anni) ne contiene sempre tre: GB-FR-DE. Ma anche se domani mi facessero la quarta, tipo RU non vedo il problema.

Ho pensato quindi di passare da una query a campi incrociati per normalizzare la tabella descrizione lingua, per fare la join in 1-1 ma non riesco ad ottenere i dati in riga......

Cioè con struttura così

C_Articolo C_Lingua N_riga D_Lingua

1234 GB 01 pippo che

1234 GB 02 pluto fa

1234 GB 03 topolino dice

Non riesco a ottenere

Articolo lingua 1 2 3

1234 GB pippo che pluto fa topolino dice

Se mi gira tolgo la descrizione in lingua sull'etichetta.....anche se mi dispiace



Back to Top
willy55 View Drop Down
Moderatore
Moderatore
Avatar
Esperto di Access

Joined: 03/Ago/2011
Location: Italy
Status: Offline
Points: 10404
Post Options Post Options   Thanks (0) Thanks(0)   Quote willy55 Quote  Post ReplyReply Direct Link To This Post Posted: 11/Dic/2018 at 23:33
La valutazione da effettuare (per stabilire la struttura più consona) è prendere in considerazione se la descrizione (dell'articolo nella specifica lingua) è sempre la stessa o varia nel tempo (visto che hai indicato che te ne arrivano anche fino a 90).
Altro elemento da considerare è: se le lingue con cui si sviluppa la descrizione siano stabilite a priori (ad esempio, esclusivamente, inglese, francese, tedesco) o possano essere fornite in una lingua non prevista per cui si deve avere oltre alla descrizione (nella lingua) anche l'informazione in quale lingua sia scritta (la descrizione).
Insomma già in base alla variabilità di tali elementi si può pensare ad una struttura che possa essere adeguata agli aggiornamenti da effettuare.
Willy
Back to Top
Fabio76 View Drop Down
Utente Senior
Utente Senior


Joined: 12/Giu/2008
Location: Italy
Status: Offline
Points: 309
Post Options Post Options   Thanks (0) Thanks(0)   Quote Fabio76 Quote  Post ReplyReply Direct Link To This Post Posted: 11/Dic/2018 at 09:13
Ma se devo adesso gestire maschera e sotto maschera ho paura di perdermi.....cioè dovrei in maschera caricare i record dell'anagrafica articoli (che hanno descrizione sempre in italiano) in sotto maschera, in base al campo di testata ordine cliente, che mi indica la lingua, i record della tabella con le traduzioni (rapporto 1 a molti)
Ragionandoci ancora dirò di più: questa maschera funziona così; l'operatore alimenta un campo commessa, un tasto lancia la query che carica la maschera, un bottone di controllo per ogni record decide se stampare la riga in un report o no.
Il problema che si pone adesso e che, facciamo un esempio, l'operatore lancia la query e per un singolo articolo, se sono presenti 3 righe nella tabella traduzione lingua, per la lingua della testata d'ordine, si vede comparire 3 volte lo stesso articolo/record
Adesso ovvia al problema selezionando il pulsante stampa solo su una delle tre righe.
Il report stampa un'etichetta con la descrizione in italiano e in lingua quella relativa alla riga dove il pulsante è attivo.
Da qui altra idea: sono obbligato a caricare in maschera anche le righe della traduzione in lingua?
Non posso solo a livello di report (che ne so con un sottoreport condizionare il campo testo in base alla lingua presente in testata ordine cliente???)

Oppure come dici tu una query a campi incrociati da lanciare a spot (tanto non è che ogni giorno nascono articoli nuovi ma è la soluzione meno elegante)
Back to Top
willy55 View Drop Down
Moderatore
Moderatore
Avatar
Esperto di Access

Joined: 03/Ago/2011
Location: Italy
Status: Offline
Points: 10404
Post Options Post Options   Thanks (0) Thanks(0)   Quote willy55 Quote  Post ReplyReply Direct Link To This Post Posted: 10/Dic/2018 at 21:50
Devi valutare che la scelta di inserire 4 possibili lingue nello stesso record va contro tutti i criteri di normalizzazione in un DBMS relazionale.
Considera, ad esempio il caso in cui, nel futuro, vi sia l'esigenza di gestire 5 lingue, dovrai modificare l'intera struttura.
Nella normalità, per gestire i dati correlati in relazione 1<->N è sufficiente gestire maschera (per il lato 1)  e la sotto-maschera (per il lato molti).
Inoltre se vuoi avere i dati delle lingue relative al singolo record puoi sempre impiegare una query a campi incrociati.
Willy
Back to Top
 Post Reply Post Reply Page  12>
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,063 seconds.