Newsgroup: it.comp.appl.access
Titolo: Cambio ordine dei record in una maschera.

Ciao a tutti.
Da una tabella 'documenti' vorrei creare una tabella 'giro consegne' con
relativo  report.
Il mio problema č poter definire l'ordine dei record del 'giro consegne'
tramite selezione (mouse o tastiera) in una maschera o casella di riepilogo.
In pratica: chi deve fare le consegne deve poter modificare l'elenco
spostando i vari record in maniera che corrispondano alle tappe
dell'intinerario che intende fare.
Ho immaginato una maschera che con due tasti -frecciasu- e -frecciagiu-
spostano i record selezionati fino a quando si raggiunge l'ordine
desiderato.
Oppure un qualcosa tipo il cambio dell'ordine di tabulazione dei controlli
di una maschera.
Perň...mi manca lo spunto iniziale.
Spero di essere stato chiaro e ringrazio in anticipo chi mi suggerisce la
via da seguire.
Ciao.

 ha scritto nel messaggio
news:T7Dca.14505$7y3.4...@twister1.libero.it...

Una possibile soluzione:
Crei una tabella con: GiroConsegna, "Selezionato" di tipo sě/No,
"Progressivo" di tipo numerico e con indice univoco.
Con una query di accodamento che accoda i valori che ti interessano nella
nuova tabella prendendoli da "Documenti" o come si chiama la tabella da cui
intendi lavorare.
Crea una maschera tabellare con i record della "nuova tabella" e da codice
ad ogni click dell'operatore su di un record scrivi il valore in
"Progressivo" cominciando da 1:
Per esempio su click di "Selezionato":
If  isnull(me.Progressivo) or me.Progressivo = 0 then
me.progressivo = nz(dmax("Progressivo","TuaNuovaTabella"),0) + 1
end if
Passi al record successivo o a quello che l'utente desidera e ripete il
click.
Ovviamente prima di accodare i dati con la query di accodamento dovrai
opportunamente svuotare la "Nuova tabella" per far posto ai nuovi dati.
Utilizzerai questa tabella per il report di stampa.
Spero di essere riuscito almeno a spiegare il concetto.
Ciao, Carlo


Ti ringrazio, può essere una soluzione, però...se ho capito bene in questa
maniera non devo sbagliare.
Devo creare un qualcosa che sia flessibile e preveda eventuali errori tipo:
errata scelta dei documenti oppure cambio dell'ordine dopo averlo già
modificato.
Quindi in un'unica maschera ( o casella di riepilogo ) devo potere cambiare
a piacimento l'ordine di ogni singolo record selezionato ed avere la
possibilità eventualmente di cancellare i record senza compromettere la
sequenza degli altri.
In realtà io ho provato a seguire una strada di questo tipo:
1) Con una prima maschera estrapolo dal database aziendale (Sybase per la
cronaca) un primo elenco di documenti, applicando vari filtri di ricerca
(tipo doc, data, cliente, agente ecc.) creando quindi una tabella Documenti
2) Con una seconda maschera opero con due caselle di riepilogo: una per la
tabella Documenti e una per la tabella DocumentiGiro. Con evento click sulla
prima cas.riep. inserisco il record nella seconda, mentre sulla seconda
,sempre con click, cancello eventuali record inseriti
erroneamente,riservandomi con un tasto l'azzeramento completo, con un altro
l'inserimento in un colpo solo. In questa maniera mi creo un insieme
filtrato fino al singolo documento.
3) Ora mi manca solo l'ordinamento, però vorrei utilizzare un qualcosa di
flessibile che mi permetta di variare n-volte la sequenza. Potrei utilizzare
una terza casella riepilogo (e relativa tabella ovviamente) per inserire in
sequenza i record però mi sembra un pò rigida; pensa ad es. se dopo avere
inserito 20 documenti devi inserirne uno alla posizione 8, chiudi tutto e lo
scrivi su un foglio...
Poi può darsi che mi stia infilando in un vicolo cieco...come può esserci la
soluzione dietro l'angolo.
Ciao.
Profumo