PROBLEMINO

Condividiamo le esperienze per fornire assistenza ai propri clienti.

Moderatore: Moderatori

Rispondi
sierrapapa
Messaggi: 114
Iscritto il: sabato 8 maggio 2004, 2:00
Località: PISTOIA

PROBLEMINO

Messaggio da sierrapapa » martedì 4 ottobre 2005, 19:40

Come posso impostare una formula per cui se digito una lettera dell'alfabeto in un campo in un portale correlato mi appaiono tutti i nomi che iniziano con quella lettera; se inserisco una seconda lettera avviene uno screaming che mi lascia solo i nomi le cui prime due lettere corrispondono e così di seguito...
Dovrebbe essere facile per i soliti mostri; per me, ci perdo la testa.
Grazie agli uomin di buona volontà.
Paolo :?: :!: :?: :P

Superp
Messaggi: 243
Iscritto il: martedì 23 settembre 2003, 2:00
Località: Buggiano (Pt)
Contatta:

Messaggio da Superp » martedì 4 ottobre 2005, 20:12

Ciao,

Sinceramente non credo che sia tanto semplice, anche perche' i record vengono visualizzati nel portale all' uscita dal campo, quindi finche' non esci dal campo FM non verifichera' la relazione e non mostrera' alcun record nel portale.

Con verifica all' uscita dal campo potresti creare nella tabella correlata un campo calcolato per ogni lettera che aggiungi in questo modo (ponendo che il campo nome sia quello che vuoi vedere nel portale):

prima_lettera - calcolato - Sinistra( nome; 1)
seconda_lettera - calcolato - Sinistra( nome; 2)
terza_lettera - calcolato - Sinistra( nome; 3)
...

Dopodiche' nella tabella del portale crei una serie di relazioni tra il campo nome di quella tabella e i vari campi n_lettera della tabella relazionata.
Metti tutti i vari portali uno sull' altro (non proprio, perche' senno il portale sarebbe dentro un altro portale e non si puo' fare, li devi spostare ognuno un po' piu' un alto di quello sottostante) ed ecco che all' uscita dal campo nome ti mette i record corrispondenti nel "portale" (chiaramente tutti i portali e i campi dei portali non devono avere riempimenti).

Detto questo, non so a livello di prestazioni cosa puo' succedere con tanti dati, ma credo diventi una cosa abbastanza lenta.

Per provare se funzionava ho fatto un esempio in FMP 6, se vuoi te lo mando, ma spero che qualcuno ti proponga un' idea migliore.

Inoltre non so se nell' otto...

Ciao
- PMP 8.5 Adv Win -

stregatto
Messaggi: 9700
Iscritto il: lunedì 1 dicembre 2003, 1:00
Località: Roma
Contatta:

Messaggio da stregatto » mercoledì 5 ottobre 2005, 11:18

si, è meglio usare la procedura ad uscita portale; ho anche provato (tramite eventscript a effettuare la cerca ad ogni modifica del campo, ma è un lavoraccio e soprattutto non particolarmente stabile e veloce).
con la 7/8 la procedura classica è fare una doppia relazione
(campo input&"zzzzzzzzzzzzzzzzzzzzzzzzz" > nome and
campo inptu&"aaaaaaaaaaaaaaaaaaaaaa" < nome)

ma è inusabile per grandi quantità di dati (ho provato su 150.000 record e ci metteva CINQUE MINUTI ad ogni richiesta).

se no c'è la più semplice procedura della prima lettera: crei un campo prima lettera, lo correli con un calcolato (sinistra(cognome;1)) e vivi felice.

.g.

Rispondi