PDA

Visualizza la versione completa : [access e SQL] numero del record in una select


Alethesnake
28-01-2005, 16:44
ciao,
ho un problema con una select e non so se ha soluzione..
prendiamo una select semplice, ex

SELECT societa FROM tabella_societa ORDER BY societa ASC

è possibile estrarre anche il numero (posizione) della società nel recordset (direttamente con l'istruzione select)?
insomma qualcosa del genere:

N° - Società

1 - banca popolare di novara
2 - cembre spa
3 - fiat spa
4 - Telecom spa
...

in genere il numero lo metto io incrementando una variabile quando faccio il ciclo per visualizzare i records, ma in questo caso avrei bisogno di ottenerlo direttamente dalla select (se possibile) visto che devo usarla direttamente come rowSource di una listbox

idee?

Alethesnake
30-01-2005, 11:40
up

riccardone
30-01-2005, 11:49
Originariamente inviato da Alethesnake
idee?
:confused:
L'unica risposta che mi viene in mente mi sembra anche fin troppo scontata (quindi forse ho capito male) e cioe'

SELECT idsocieta, societa FROM tabella_societa ORDER BY societa ASC
supponendo che nella tabella_societa ci sia una colonna chiamata idsocieta che sia una chiave univoca

Alethesnake
30-01-2005, 11:57
si, hai capito male. :)
ho una chiave unica nella tabella ma non è quella che mi interessa estrarre, quello che devo estrarre è un recordset con una numerazione progressiva delle società selezionate, numerazione che non rispecchia quelle dell'id.

riccardone
30-01-2005, 12:25
Originariamente inviato da Alethesnake
quello che devo estrarre è un recordset con una numerazione progressiva delle società selezionate
Immagino che un recordset sia un array e come tale ha un indice progressivo indipendente dai dati contenuti. Continuo a non capire xche' non usare l'id presente nel database per identificare univocamente i risultati della select ma fa niente :ciauz:

Alethesnake
30-01-2005, 13:34
Originariamente inviato da riccardone
Continuo a non capire xche' non usare l'id presente nel database per identificare univocamente i risultati della select ma fa niente :ciauz:
non posso fare così perché l'id potrebbe non essere continuo (in caso di DELETE) ne' progressivo (seleziono le società in ordine di societa ASC, non in ordine di id, e i due ordinamenti non coincidono)
non devo identificare le società univocamente, devo solo numerarle da 1 ad n

riccardone
30-01-2005, 14:13
Originariamente inviato da Alethesnake
non posso fare così perché l'id potrebbe non essere continuo (in caso di DELETE) ne' progressivo (seleziono le società in ordine di societa ASC, non in ordine di id, e i due ordinamenti non coincidono)
non devo identificare le società univocamente, devo solo numerarle da 1 ad n
Nessuno dei due motivi a cui fai cenno mi sembra siano fondati per non usare l'id presente nel db. In caso di delete non conta che sia continuo o no basta che sia univoco mentre per l'ordinamento non vedo cosa serva far "coincidere" l'ordine alfabetico con quello numerico.
cmq... vedi tu

Alethesnake
30-01-2005, 15:23
mi sa che non ci siamo capiti :confused:

io NON devo individuare univocamente le società che estraggo, devo numerare da 1 ad N quelle che seleziono per questione di comodità (in fase di visualizzazione devo presentare il nome della società ed un numero progressivo), ecco perché non posso usare l'id

giano118
30-01-2005, 19:26
ciao,
forse ho capito anche io male :)
ma voglio dire, se "la posizione" in effetti non è un valore rpesente sul db, non vedo come puoi recuperarla...
mentre, la mia osservazione, sperando ti possa essere utile, è di utilizzare proprietà del recordset che ti recupera i dati dal db.
in questo modo identifichi il numero di record ricevuti dall'interrogazione del db, e poi per es. con un ciclo numerarli progressivamente al momento della visualizzazione.

spero di essermi spiegato bene e di esserti stato utile.

ciao


Originariamente inviato da Alethesnake
ciao,
ho un problema con una select e non so se ha soluzione..
prendiamo una select semplice, ex

SELECT societa FROM tabella_societa ORDER BY societa ASC

è possibile estrarre anche il numero (posizione) della società nel recordset (direttamente con l'istruzione select)?
insomma qualcosa del genere:

N° - Società

1 - banca popolare di novara
2 - cembre spa
3 - fiat spa
4 - Telecom spa
...

in genere il numero lo metto io incrementando una variabile quando faccio il ciclo per visualizzare i records, ma in questo caso avrei bisogno di ottenerlo direttamente dalla select (se possibile) visto che devo usarla direttamente come rowSource di una listbox

idee?

Alethesnake
30-01-2005, 19:35
Originariamente inviato da giano118
ciao,
forse ho capito anche io male :)
ma voglio dire, se "la posizione" in effetti non è un valore rpesente sul db, non vedo come puoi recuperarla...
mentre, la mia osservazione, sperando ti possa essere utile, è di utilizzare proprietà del recordset che ti recupera i dati dal db.
in questo modo identifichi il numero di record ricevuti dall'interrogazione del db, e poi per es. con un ciclo numerarli progressivamente al momento della visualizzazione.

spero di essermi spiegato bene e di esserti stato utile.

ciao
beh, temo anch'io che in access non sia possibile quanto chiedo ma non si sa mai. mi interessava una cosa del genere appunto per evitare il ciclo.

:ciauz:

Loading