Cambiare ordine record a video

di il
2 risposte

Cambiare ordine record a video

Ciao a tutti.

Con la mia dolce metà ci è venuta l'idea di pianificare un bel viaggio (da fare chissà quando….) che richiederà diverse tappe.

Stiamo leggendo guide e siti e prendiamo appunti sul dove fare tappa, distanze, cose da vedere etc etc…..

Avevo pensato di riunire i dati su Access per poi smanettarli in modo vario.

La cosa che più sarebbe interessante fare è quella, ovviamente, poi di creare un itinerario (report) con tutte le tappe in sequenza.

Va da sè che, in fase di studio, le tappe potrebbero variare nel senso che, ad esempio, dopo aver inserito la 6 tappa ci rendiamo conto che in realtà è a metà strada tra la 3 e la 4 e quindi andrebbe inserita in quella posizione ( e di conseguenza la altre scalerebbero).

Per farla breve, mi piacerebbe (qualora fossi in grado) di fare una maschera in cui (sulla falsa riga di google maps) mi consente di spostare una tappa su o giu nell'ordine visualizzato.

Si accettano suggerimenti sul come realizzare / organizzare la cosa (anche: “lascia perdere, è un casino” è bene accetto)

Grazie

Andrea

2 Risposte

  • Re: Cambiare ordine record a video

    Non capisco quale sia il problema tecnico…!

    Crei un Campo Numerico [OrdineTappa], e gli cambi il Numero…

    Il Problema è come cambiare numero…?

    Se usi una ListBox, si può realizzare un Button UP/DOWN e quando selezioni un Item premendo UP sposta la tappa in su, e DOWN in giù, cambiando numero in automatico, avevo fatto un demo simile ma non lo trovo.

    Se usi una Maschera in modalità Continua, devi mettere i Button nel Corpo, quindi li vedi per ogni Record, ma puoi fargli fare lo spostamento sempre in automatico premento Up/Down.

    La cosa è semplice ma “relativamente”… basta leggere il valore OrdineTappa del Record Prima/Dopo a seconda tu abbia premuto Up/Down e scambi i 2 valori con 2 Query Action o tramite Recordset meglio ancora così lo fai in modo sequenziale… poi fai il refresh.

    Seguimi… form continua:

    Dim lngNewPlace As Long
    Dim lngActPlace As Long
    With Me.RecordsetClone
       lngActPlace=.Fields("OrdineTappa").Value
       Select Case UPDOVW
       		Case UP
       			.MovePrevious
       			lngNewPlace= .Fields("OrdineTappa").Value
       			.Edit
       			.Fields("OrdineTappa").Value=lngActPlace
       			.Update
       			.MoveNext
       			.Edit
       			.Fields("OrdineTappa").Value=lngNewPlace
       			.Update
       			
       		Case DOWN
       			.MoveNext
       			lngNewPlace= .Fields("OrdineTappa").Value
       			.Edit
       			.Fields("OrdineTappa").Value=lngActPlace
       			.Update
       			.MovePrevious
       			.Edit
       			.Fields("OrdineTappa").Value=lngNewPlace
       			.Update   	
       	End Select
    End With
    Me.Refresh	

    Ovviamente questo codice non funziona così come postato è solo per darti l'idea… che devi sviluppare.

    La stessa cosa si fa con il Recordset della ListBox…

  • Re: Cambiare ordine record a video

    Avevo pensato ad un campo apposito come suggerisci però non mi veniva in mente come alterarlo.

    Mi studio il tuo suggerimento e vedo di imbastire qualcosa.

    Tra l'altro, nell'allestire le tabelle ho inserito un campo DistanzaTot dove vorrei inserire la distanza dal punto di partenza iniziale; potrei usare anche questo dato per ordinare i record…..

    Ma mi interessa di più la possibilità di cambiarli in quell'altro modo (si impara qualcosa di nuovo)

    Andrea

Devi accedere o registrarti per scrivere nel forum
2 risposte