riordinamento in portale

Utilizzo dei portali in un database FileMaker

Moderatore: Moderatori

fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

Re: riordinamento in portale

Messaggio da fmstb » venerdì 2 agosto 2019, 13:40

sono stato precipitoso… non funziona correttamente. Avevo guardato con troppa superficialità. Mi sballa tutta la numerazione. Almeno questo mi fa capire perché tu avevi sostituito il numero e non fatto scalare gli altri.
Non vorrei appesantire di script una funzione del genere.
1 uno
2 due
3 tre
4 quattro
5 cinque

se voglio fare

1 uno
2 quattro
3 due
4 tre
5 cinque

spostando al record con numerazione 4 la numerazione 2
lascio integri i numeri che sono maggiori della posizione originaria di 4
aumento di 1 tutti quelli che precedono la posizione 4
lascio integro il record che precede la destinazione 2

ho provato a mettere queste condizioni in uno script successivo ma non ci sono ancora riuscito. O meglio… funziona tutto correttamente con la prima richiesta, ma alla seconda mi sballa.

Se provo a spostare quattro in 2 e poi riportare quattro in 4 mi sbaglia i numeri di riferimento

:?
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Stefano
FM Adv 18 - Win10

meccanico91
Messaggi: 104
Iscritto il: venerdì 13 novembre 2009, 13:13
Versione FileMaker: FM 14Ad
Sistema operativo: OS X

Re: riordinamento in portale

Messaggio da meccanico91 » domenica 4 agosto 2019, 20:05

Scusami ma non riesco a comprendere esattamente la tua richiesta... :shock:

Ciao

fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

Re: riordinamento in portale

Messaggio da fmstb » lunedì 5 agosto 2019, 12:49

non sei il primo a dirmi questo, quindi è evidente che mi spiego in modo pessimo.

ho dei record. Il primo numero fa conto sia il campo "ordine", il secondo invece è il campo "testo"

1 uno
2 due
3 tre
4 quattro
5 cinque

se sposto il record con il testo "quattro" in posizione 2 quello che vorrei ottenere è questo

1 uno
2 quattro
3 due
4 tre
5 cinque

che sembrerebbe una sciocchezza, ma non lo è dato che gli altri non scorrono in modo automatico, ma bisogna trovare un algoritmo in grado di farlo.
Ci ero riuscito… ma non era completo perché se poi volevo ripristinare il record alla posizione 2 con il testo "quattro" di nuovo alla quarta posizione non c'era la coerenza del risultato.

Sto cercando di inserire un record in una nuova posizione, non sto cercando di sostituire due posizioni tra di loro.
Stefano
FM Adv 18 - Win10

meccanico91
Messaggi: 104
Iscritto il: venerdì 13 novembre 2009, 13:13
Versione FileMaker: FM 14Ad
Sistema operativo: OS X

Re: riordinamento in portale

Messaggio da meccanico91 » lunedì 5 agosto 2019, 21:06

Facciamo altri esempi:
Se sposto “cinque” nella posizione 2 dovrebbe diventare così?

1 uno
2 cinque
3 due
4 tre
5 quattro

oppure se sposto “tre” nella posizione 1 dovrebbe diventare così?

1 tre
2 uno
3 due
4 quattro
5 cinque

Mi stanno venendo le traveggole... :shock: :D

fmstb
Messaggi: 442
Iscritto il: sabato 24 maggio 2008, 2:00
Versione FileMaker: 16
Sistema operativo: Windows 10

Re: riordinamento in portale

Messaggio da fmstb » martedì 6 agosto 2019, 6:11

sì, esatto… ma perché ti vengono le traveggole? C'è una coda in cui dover operare dei possibili spostamenti senza alterare la successione con un inserimento. Facile se si tratta di uno spostamento di una posizione, ma quando lo spostamento è maggiore beh… non è facile. Il calcolo si complica.
Se il record della posizione 4 va nella posizione 2 devo per esempio dire che i record che precedono la posizione di destinazione non cambiano e così quelli che sono successivi alla posizione originaria, ma non solo… i record intermedi devono essere incrementati di uno. Tutto questo solo se da 4 vado a 2. Se invece da 2 vado a 4 gli intermedi vanno decrementati di 1 e gli estremi invece rimangono - gli estremi in questo caso però sono quelli che precedono la posizione originaria e sono successivi a quella di destinazione.
E magari esiste una istruzione tipo "inserisci" che lo fa automaticamente e io non lo so :shock:
Stefano
FM Adv 18 - Win10

Rispondi