Caricamento lista valori lentissima (e filtraggio portale?)
Moderatore: Moderatori
-
- Messaggi: 18
- Iscritto il: mercoledì 13 febbraio 2013, 13:08
Caricamento lista valori lentissima (e filtraggio portale?)
Salve,
con FM10ProAdv ho creato un'applicazione per la catalogazione di Riviste ed Articoli.
All'interno di alcuni portali il caricamento delle liste valori necessarie per il completamento dei campi del portale è lentissima (alcuni minuti via internet, non certo istantanea neppure in LAN).
La situazione in dettaglio è la seguente.
Gli Autori ed i Collaboratori di queste riviste sono tutti contenuti nella tabella RisorseUmane, correlata a seconda dei casi con le tabelle Riviste (in quanto collaboratori) ed Articoli (in quanto Autori).
Poichè le Risorse Umane hanno Nome, Cognome, Pseudonimo e Sigla (un campo per ognuno) si è voluto fare in modo che per "collegare" uno o più Autori ad un Articolo si potesse usare un portale nel quale richiamarli.
Serviva, però, la possibilità di richiamarli per Nome, Cognome etc.
Ho quindi creato delle liste valori basate sui campi delle Risorse Umane contenenti: ID, Cognome, Nome, Pseudonimo, Sigla; ID, Nome, Cognome, Pseudonimo, Sigla; e così via.
Queste liste valori vengono visualizzate in un campo "nascosto" (testo in colore uguale allo sfondo) poste sotto ad un campo "visibile" non cliccabile per far sì che quando clicco su un campo (ad. es. Cognome) appaia la lista valori del campo nascosto, ma che all'uscita dal campo sia visualizzato il Cognome.
In questo modo, tramite l'ID ho la possibilità che in tutti i campi del portale venga visualizzato subito il rispettivo campo del record correlato selezionato (Cognome, Nome, Pseudonimo, Sigla). Se fosse stato usato un link al Cognome o al Nome etc. i casi di omonimia avrebbero creato problemi.
Ora, il problema è che il caricamento di queste liste è terribilmente lento (solo la prima volta).
Chiedo un consiglio, ed eventualmente proposte alternative di filtraggio dei dati tramite filtri sul portale, richiami a finestre esterne dalle quali poi riportare i dati automaticamente nel portale nel campo giusto e così via.
Grazie
con FM10ProAdv ho creato un'applicazione per la catalogazione di Riviste ed Articoli.
All'interno di alcuni portali il caricamento delle liste valori necessarie per il completamento dei campi del portale è lentissima (alcuni minuti via internet, non certo istantanea neppure in LAN).
La situazione in dettaglio è la seguente.
Gli Autori ed i Collaboratori di queste riviste sono tutti contenuti nella tabella RisorseUmane, correlata a seconda dei casi con le tabelle Riviste (in quanto collaboratori) ed Articoli (in quanto Autori).
Poichè le Risorse Umane hanno Nome, Cognome, Pseudonimo e Sigla (un campo per ognuno) si è voluto fare in modo che per "collegare" uno o più Autori ad un Articolo si potesse usare un portale nel quale richiamarli.
Serviva, però, la possibilità di richiamarli per Nome, Cognome etc.
Ho quindi creato delle liste valori basate sui campi delle Risorse Umane contenenti: ID, Cognome, Nome, Pseudonimo, Sigla; ID, Nome, Cognome, Pseudonimo, Sigla; e così via.
Queste liste valori vengono visualizzate in un campo "nascosto" (testo in colore uguale allo sfondo) poste sotto ad un campo "visibile" non cliccabile per far sì che quando clicco su un campo (ad. es. Cognome) appaia la lista valori del campo nascosto, ma che all'uscita dal campo sia visualizzato il Cognome.
In questo modo, tramite l'ID ho la possibilità che in tutti i campi del portale venga visualizzato subito il rispettivo campo del record correlato selezionato (Cognome, Nome, Pseudonimo, Sigla). Se fosse stato usato un link al Cognome o al Nome etc. i casi di omonimia avrebbero creato problemi.
Ora, il problema è che il caricamento di queste liste è terribilmente lento (solo la prima volta).
Chiedo un consiglio, ed eventualmente proposte alternative di filtraggio dei dati tramite filtri sul portale, richiami a finestre esterne dalle quali poi riportare i dati automaticamente nel portale nel campo giusto e così via.
Grazie
Marco
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
-
- Messaggi: 700
- Iscritto il: giovedì 25 marzo 2004, 1:00
- Località: Torino
Re: Caricamento lista valori lentissima (e filtraggio portal
A dire il vero non ho ben capito la procedura che utilizzi ma mi pare sicuramente molto macchinosa.
Io utilizzo un sistema più semplice e molto rapido per filtrare i protali:
utilizzo un campo globale per fare la relazione con gli ID dei record che mi interessa vedere all'interno del portale.
Quando digito la parola nel campo di ricerca, con un trigger vado nella tabella da cui pesca i dati il portale ed effettuo la ricerca nei vari campi che mi interessano.
Una volta trovati i record memorizzo in una variabile (tramite una funzione personalizzata gentilmente suggerita da Raybaudi) l'elenco degli ID dei record trovati, torno al portale e definisco il campo globale con il risultato della variabile.
La funzione è:
elencotrovati(NomeCampo)=
Lo utilizzo su tabelle con migliaia di record ed il risultato è pressoché immediato anche se i record restituiti sono molti
Io utilizzo un sistema più semplice e molto rapido per filtrare i protali:
utilizzo un campo globale per fare la relazione con gli ID dei record che mi interessa vedere all'interno del portale.
Quando digito la parola nel campo di ricerca, con un trigger vado nella tabella da cui pesca i dati il portale ed effettuo la ricerca nei vari campi che mi interessano.
Una volta trovati i record memorizzo in una variabile (tramite una funzione personalizzata gentilmente suggerita da Raybaudi) l'elenco degli ID dei record trovati, torno al portale e definisco il campo globale con il risultato della variabile.
La funzione è:
elencotrovati(NomeCampo)=
Codice: Seleziona tutto
Dichiara(
$i = $i + 1 ;
Casi(
$i < Get ( ContoTrovati ) ; RicavaEnnesimoRecord ( NomeCampo ; $i ) & ¶ & ElencoTrovati( NomeCampo ) ;
Dichiara ( $i = "" ; RicavaEnnesimoRecord ( NomeCampo ; Get ( ContoTrovati ) ) )
)
)
FMPA 12- Win e OsX
-
- Messaggi: 9700
- Iscritto il: lunedì 1 dicembre 2003, 1:00
- Località: Roma
- Contatta:
Re: Caricamento lista valori lentissima (e filtraggio portal
se hai almeno la 11 i portali filtrati ti risparmiano un sacco di lavoro.
.g.
.g.
-
- Messaggi: 18
- Iscritto il: mercoledì 13 febbraio 2013, 13:08
Re: Caricamento lista valori lentissima (e filtraggio portal
Grazie per la risposta.
Ti sei riferito immediatamente al "filtraggio", che era la mia seconda ed eventuale domanda, nel caso in cui il discorso della velocità di caricamento della lista valori non fosse risolvibile.
La domanda sulla velocità resta aperta, ma approfondisco il discorso filtraggio per capire se in un contesto di 4 potenziali filtri successivi la cosa che suggerisci può funzionare o meno:
Chiarisco quindi ulteriormente:
il concetto è semplicemente quello di simulare una "Casella combinata" entrando nella quale venga visualizzata una lista delle risorse umane contenente "(ID) Cognome Nome Pseudonimo Sigla" per ogni Risorsa umana. (Id è tra parentesi perchè la lista valori è configurata per usarlo ma non visualizzarlo).
Tali dati vengono salvati tramite il portale in una tabella correlata in molti a molti che collega gli Articoli alle RisorseUmane.
Poiché:
1. ogni lista valori contiene 5 campi di cui il primo è l'ID;
2. l'utente può scegliere se fare la sua scelta per Nome, Cognome, Pseudonimo o Sigla;
3. ci sono quindi 4 campi con 4 liste (una con Nome-Cognome-etc., una con Cognome-Nome-etc., e così via);
4. si vuole che una volta selezionato un valore dalla lista vengano visualizzati i dati effettivi in tutti e 4 i campi;
ecco perché sopra ai campi che visualizzano le liste sono stati posti dei campi testo che visualizzano i singoli campi del record correlato: Cognome, Nome, Pseudonimo e Sigla.
Non è eccessivamente complesso, non richiede codice o variabili ma solo oggetti "grafici" di FM e funziona, solo che il caricamento delle liste è lentissimo. Il problema è che da quanto ho capito FM non è una scheggia in queste cose.
Grazie
Ti sei riferito immediatamente al "filtraggio", che era la mia seconda ed eventuale domanda, nel caso in cui il discorso della velocità di caricamento della lista valori non fosse risolvibile.
La domanda sulla velocità resta aperta, ma approfondisco il discorso filtraggio per capire se in un contesto di 4 potenziali filtri successivi la cosa che suggerisci può funzionare o meno:
Chiarisco quindi ulteriormente:
il concetto è semplicemente quello di simulare una "Casella combinata" entrando nella quale venga visualizzata una lista delle risorse umane contenente "(ID) Cognome Nome Pseudonimo Sigla" per ogni Risorsa umana. (Id è tra parentesi perchè la lista valori è configurata per usarlo ma non visualizzarlo).
Tali dati vengono salvati tramite il portale in una tabella correlata in molti a molti che collega gli Articoli alle RisorseUmane.
Poiché:
1. ogni lista valori contiene 5 campi di cui il primo è l'ID;
2. l'utente può scegliere se fare la sua scelta per Nome, Cognome, Pseudonimo o Sigla;
3. ci sono quindi 4 campi con 4 liste (una con Nome-Cognome-etc., una con Cognome-Nome-etc., e così via);
4. si vuole che una volta selezionato un valore dalla lista vengano visualizzati i dati effettivi in tutti e 4 i campi;
ecco perché sopra ai campi che visualizzano le liste sono stati posti dei campi testo che visualizzano i singoli campi del record correlato: Cognome, Nome, Pseudonimo e Sigla.
Non è eccessivamente complesso, non richiede codice o variabili ma solo oggetti "grafici" di FM e funziona, solo che il caricamento delle liste è lentissimo. Il problema è che da quanto ho capito FM non è una scheggia in queste cose.
Grazie
Marco
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
-
- Messaggi: 700
- Iscritto il: giovedì 25 marzo 2004, 1:00
- Località: Torino
Re: Caricamento lista valori lentissima (e filtraggio portal
Quanti sono i record da filtrare?
FMPA 12- Win e OsX
-
- Messaggi: 18
- Iscritto il: mercoledì 13 febbraio 2013, 13:08
Re: Caricamento lista valori lentissima (e filtraggio portal
Qualcosa più di 10000...
Marco
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
-
- Messaggi: 700
- Iscritto il: giovedì 25 marzo 2004, 1:00
- Località: Torino
Re: Caricamento lista valori lentissima (e filtraggio portal
Non mi è ancora chiaro come sono fatte le liste...
Come fai a pescare i dati di 5 campi più l'ID ed inserirli in una lista sola?
Cosa vuol dire che una lista contiene 5 campi?
Hai fatto dei calcolati nella tabella Risorse umane che sono la somma dei 5 campi in questione?
Riesci a postare un esempio pratico di quello che hai fatto?
Un file, un grafico delle relazioni la definizione delle liste... qualcosa insomma ;)
Come fai a pescare i dati di 5 campi più l'ID ed inserirli in una lista sola?
Cosa vuol dire che una lista contiene 5 campi?
Hai fatto dei calcolati nella tabella Risorse umane che sono la somma dei 5 campi in questione?
Riesci a postare un esempio pratico di quello che hai fatto?
Un file, un grafico delle relazioni la definizione delle liste... qualcosa insomma ;)
FMPA 12- Win e OsX
-
- Messaggi: 18
- Iscritto il: mercoledì 13 febbraio 2013, 13:08
Re: Caricamento lista valori lentissima (e filtraggio portal
@stregatto
Ciò che non capisco è il contrasto fra certe cose che in FM sono di una semplicità sorprendente e la mancanza di alcune funzionalità che riterrei "di base"... In Access XP 15 anni fa 'ste cose (e ben altro) le facevi in 2 minuti e funzionavano alla grande... (Non vuole essere un confronto, ce ne sarebbe da dire in bene e in male e non è il caso)
@gozzi
Nella tabella Autori (nell'immagine è l'istanza RUxArticoli_Autori) ci sono 4 campi calcolati chiamati Fusione_Nominativo_Per[ Nome | Cognome | Pseudonimo | Sigla ]. Il calcolo che li compila è: Nome & " " & Cognome & " - " & Pseudonimo & " - " & SiglaMonogramma (con ordine diverso negli altri casi).
La lista valori è basata sull'ID dell'Autore + il campo Fusione_Nominativo_Per.., con la specifica "Usa valori 1° campo" e "Visualizza valori secondo campo".
Il portale infine è questo: che è basato sulla tabella intermedia Articoli_Autori e visualizza i campi ::Cognome etc. della tabella RisorseUmane.
Sotto a questi campi (che non sono selezionabili) ci sono i campi che visualizzano le liste valori.
NOTA: per aprire la lista valori cliccando sul campo ::Cognome ci sono voluti 16 minuti (ADSL di casa non spettacolare, ma dico: 16 minuti...)
Il progetto è partito addirittura con la 8, poi aggiornato varie volte, ma ci sono molti utenti sparsi per l'Italia e non si può costringere tutti a cambiare client... O in questo caso basterebbe il server 11?se hai almeno la 11 i portali filtrati ti risparmiano un sacco di lavoro.
Ciò che non capisco è il contrasto fra certe cose che in FM sono di una semplicità sorprendente e la mancanza di alcune funzionalità che riterrei "di base"... In Access XP 15 anni fa 'ste cose (e ben altro) le facevi in 2 minuti e funzionavano alla grande... (Non vuole essere un confronto, ce ne sarebbe da dire in bene e in male e non è il caso)
@gozzi
Qui vedi le relazioni.Come fai a pescare i dati di 5 campi più l'ID ed inserirli in una lista sola?
Cosa vuol dire che una lista contiene 5 campi?
Hai fatto dei calcolati nella tabella Risorse umane che sono la somma dei 5 campi in questione?
Nella tabella Autori (nell'immagine è l'istanza RUxArticoli_Autori) ci sono 4 campi calcolati chiamati Fusione_Nominativo_Per[ Nome | Cognome | Pseudonimo | Sigla ]. Il calcolo che li compila è: Nome & " " & Cognome & " - " & Pseudonimo & " - " & SiglaMonogramma (con ordine diverso negli altri casi).
La lista valori è basata sull'ID dell'Autore + il campo Fusione_Nominativo_Per.., con la specifica "Usa valori 1° campo" e "Visualizza valori secondo campo".
Il portale infine è questo: che è basato sulla tabella intermedia Articoli_Autori e visualizza i campi ::Cognome etc. della tabella RisorseUmane.
Sotto a questi campi (che non sono selezionabili) ci sono i campi che visualizzano le liste valori.
NOTA: per aprire la lista valori cliccando sul campo ::Cognome ci sono voluti 16 minuti (ADSL di casa non spettacolare, ma dico: 16 minuti...)

Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Marco
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
-
- Messaggi: 9700
- Iscritto il: lunedì 1 dicembre 2003, 1:00
- Località: Roma
- Contatta:
Re: Caricamento lista valori lentissima (e filtraggio portal
Il progetto è partito addirittura con la 8, poi aggiornato varie volte, ma ci sono molti utenti sparsi per l'Italia e non si può costringere tutti a cambiare client... O in questo caso basterebbe il server 11?
no, ti servirebbero tutti fmp11. Fossi in te io userei un portale a relazioni multiple per selezionare il nome che poi andrà passato via script nel portale di scelta.
Ciò che non capisco è il contrasto fra certe cose che in FM sono di una semplicità sorprendente e la mancanza di alcune funzionalità che riterrei "di base"... In Access XP 15 anni fa 'ste cose (e ben altro) le facevi in 2 minuti e funzionavano alla grande... (Non vuole essere un confronto, ce ne sarebbe da dire in bene e in male e non è il caso)
il problema di fondo è come fm gestisce le LV. Access ha un sistema più statico e di diversa implementazione. FM per presentare una LV deve caricare tutta la tabella (o i record per quella relazione) e poi eliminare i doppioni. non è una operazione banale. Però inizia a sovvenirmi che forse non hai utilizzato la struttura ottimale… o meglio: hai una struttura ottimale per flessibilità ma che non ti garantisce buone prestazioni, specialmente in rete.
.g.
no, ti servirebbero tutti fmp11. Fossi in te io userei un portale a relazioni multiple per selezionare il nome che poi andrà passato via script nel portale di scelta.
Ciò che non capisco è il contrasto fra certe cose che in FM sono di una semplicità sorprendente e la mancanza di alcune funzionalità che riterrei "di base"... In Access XP 15 anni fa 'ste cose (e ben altro) le facevi in 2 minuti e funzionavano alla grande... (Non vuole essere un confronto, ce ne sarebbe da dire in bene e in male e non è il caso)
il problema di fondo è come fm gestisce le LV. Access ha un sistema più statico e di diversa implementazione. FM per presentare una LV deve caricare tutta la tabella (o i record per quella relazione) e poi eliminare i doppioni. non è una operazione banale. Però inizia a sovvenirmi che forse non hai utilizzato la struttura ottimale… o meglio: hai una struttura ottimale per flessibilità ma che non ti garantisce buone prestazioni, specialmente in rete.
.g.
-
- Messaggi: 18
- Iscritto il: mercoledì 13 febbraio 2013, 13:08
Re: Caricamento lista valori lentissima (e filtraggio portal
Finestrella separata modale e poi riporto il record selezionato? A relazioni multiple intendi per Cognome, Nome, etc.?no, ti servirebbero tutti fmp11. Fossi in te io userei un portale a relazioni multiple per selezionare il nome che poi andrà passato via script nel portale di scelta.
Capisco, ma non conosco. Hai consigli per l'ottimizzazione?hai una struttura ottimale per flessibilità ma che non ti garantisce buone prestazioni, specialmente in rete.
Marco
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)
________________________________________________________________________________________________________
FM 10 Pro Adv (in passaggio a FM 13 Pro Adv)