Newsgroup: it.comp.appl.access
Titolo: Ordinare dati in base al campo scelto

In visualizzazione maschera continua devo ordinare i dati
in base al campo scelto.  (ordinamento crescente)
Es. ho 4 campi c1, c2, c3, c4
Devo avere 4 pulsanti:
Pulsante 1 mi ordina i dati  in base al campo 1
Pulsante 2 mi ordina i dati  in base al campo 2
Pulsante 3 mi ordina i dati  in base al campo 3
etc.
Caso dettagliato:
La maschera ha come origine record una Query1
(join di 2 tabelle).
Per avere l'sql funzionante:
ho provato, una volta aperta la maschera, dal menu
Record, Filtro, Ordinamento/Filtro avanzato,
a costruire un filtro con campo= c1 ordinamento= crescente
e poi da menù Filtro selezionando Applica filtro/ordina ho
ottenuto l'ordinamento.
Tale filtro l'ho salvato come query (qryFiltro_c1) e
poi ho ricopiato l'istruzione sql di tale filtro, funzionante
da menù (quindi sql giusta):
SELECT *
FROM Query1
ORDER BY Query1.c1;
dentro una Macro nell' Istruzione SQL
dell'azione EseguiSQL della macro stessa
(proprietà utilizza transazione si o no ininfluente).
 Però al click del pulsante 1, l'esecuzione macro dava il
seguente errore:
Un'azione eseguiSQL richiede un argomento
costituito da un'istruzione sql…etc..
Com'è risolvibile il problema?
Esiste un comando diretto tipo docmd per applicare
l'ordinamento (dall'help ho visto che c'è solo per
applyfilter che però è limitato solo alla condizione where).
O con funzione VBA?
By By
RobViv


Io comincerei con la soluzione più facile ed intuitiva:
apri la tua maschera, evidenzia il controllo (su una riga qualsiasi della
maschera) in base al quale vuoi fare l'ordinamento, sulla barra degli
strumenti pigia il pulsante "Ordinamento cresente". Così eviti i pusanti di
comando e codice in VBA.
Se invece vuoi adottare la strada dei quattro pulsanti di comando, preparati
anche quattro query (Query1, Query2, ecc.) che si differenziano fra di loro
solo per i criteri di ordinamento (ORDER By.....).
Metti come "Origine record" della maschera il nome di una delle quattro
query.
A fronte dell'evento "Su clic" del primo pulsante di comando genera il
seguente codice VBA:
    Me.RecordSource = "Query1"
a fronte dell'evento "Su clic" del secondo pulsante di comando genera il
seguente codice VBA:
    Me.RecordSource = "Query2"
a fronte dell'evento "Su clic" del terzo pulsante di comando genera il
seguente codice VBA:
    Me.RecordSource = "Query3"
a fronte dell'evento "Su clic" del quarto pulsante di comando genera il
seguente codice VBA:
    Me.RecordSource = "Query4"
Ciao
Roberto

Perchè?
perché non gliu hai ancora assegnato un valore.  valgono null, cioè né
false ne true, quindi non possono essere né checkati né decheckati.
allora nell'open della maschera scrivi del codice che li inizializzi
in qualche modo assegnandogli un valore adatto.
--
make it idiot proof and someone will make a better idiot.
--
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/

in qualche modo assegnandogli un valore adatto.
Thank you per suggerimento, tra l'altro
avevo trovato la possibilità di avere lo stesso effetto senza
usare codice ma semplicemente inserendo il valore zero nel
valore predefinito delle proprietà del pulsante opzione.
By   By

Dimenticavo
il quesito codice per pulsante opzione
riposterò anche sul Ng
Ariby by

 invece che esplicitamente, l'origine record della tua tabella.
Scusami, "maschera" e non "tabella"


eventualmente puoi spiegarmi il motivo?
vedi sopra.  non ha senso dire che si cambia soltanto l'ordinamento.
in ogni caso, anche se non ti viene detto esplicitamente, access
riesegue comunque una nuova query.


Roberto
Assolutamente no.
Roberto ti sbagli.
Anzi cerco di impegnarmi, come tu stesso hai sottolineato nella prima riga,
per trovare una mia soluzione e se ci riesco la posto in aggiunta a quella che
mi è
già stata data. Questo non vanifica il lavoro fatto da altri, anzi lo integra.
In fede
robviv
Ciao
Tutte le vs. risposte le devo vedere con calma,
ritenendo al momento prioritario chiarire
questo punto.

 ha scritto nel messaggio
news:3998567F...@usa.net...

OK, scusami se ho frainteso il tuo comportamento; però credimi, questa è
l'impressione che ne ricevo e potrei non essere l'unico.
Un felice Ferragosto a te e alla tua famiglia :-((((((((((
Roberto

 ha scritto nel messaggio
news:7t4m5.68693$dF5.1...@news.infostrada.it...

Accidenti, scusami, ho sbagliato le parentesi.
Un felice Ferragosto a te e alla tua famiglia :-)))))))))))))))))))
Roberto