Newsgroup: it.comp.appl.access
Titolo: query forse impossibile?

Ciao a tutti,
non riesco a ottenere il risultato sperato da una query, ma forse non č
possibile, e spero nel vostro aiuto.
Ho una tabella con un'anagrafica che contiene qualche migliaio di record; in
questa tabella devo valorizzare il campo "mail" concatenando i campi "nome"
e "cognome". Fin qui nessun problema; poi perň dovrei ,per i casi di
omonimia, concatenare un progressivo. Esempio:
Nome        Cognome        Mail
Ada            Rossi             ada.rossi
Ada            Rossi             ada.rossi1
Ada            Rossi             ada.rossi2
Ebe            Rossi             ebe.rossi
Ebe            Rossi             ebe.rossi1
Ho provato a usare piů query e piů tabelle, ma non sono riuscita a ottenere
questo; al massimo riesco a mettere tutti gli omonimi in una tabella con un
progressivo e a concatenare nome.cognome al progressivo .
Nome        Cognome        Mail            Id
Ada            Rossi             ada.rossi1    1
Ada            Rossi             ada.rossi2    2
Ada            Rossi             ada.rossi3    3
Ebe            Rossi             ebe.rossi4    4
Ebe            Rossi             ebe.rossi5    5
Se con SQL č impossibile mi suggerireste come manipolare il recordset via
VBA?
Grazie 1K
Ilaria

 ha scritto nel messaggio
news:b47nfq$cqa$1...@localhost.localdomain...

Se la tabella che contiene i dati si chiama Tabella1 ed ha una struttura
simile a questa:
ID                Contatore e chiave primaria
Nome           Testo
Cognome      Testo
ecc. ecc.
La query che fa ciň che vuoi ha il seguente codice SQL:
SELECT Tabella1.Nome, Tabella1.Cognome, [Nome] & "." & [Cognome] &
Format(DCount("*","Tabella1","Nome=" & Chr$(34) & [Nome] & Chr$(34) & " And
Cognome=" & Chr$(34) & [Cognome] & Chr$(34) & " And ID <" & [ID]),"#") AS
Mail
FROM Tabella1
ORDER BY Tabella1.Cognome, Tabella1.Nome, Tabella1.ID;
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 news:b47nfq$cqa$1...@localhost.localdomain...
[...]

[...]
    Ma... ha senso questa cosa? Al limite, ogni volta che lanci la
query, l'Ada Rossi che ha Mail=ada.rossi2 potrebbe ritrovarsi con
Mail=ada.rossi3 o altro. Ma forse ho capito male io...
--
Ciao :o)
Maurizio
--------
?SPQR(C)
 X
--------

 Mail=ada.rossi3 o altro. Ma forse ho capito male io...
ciao MAurizio credo che Ilaria voglia assegnare una volta solo il
numeratore. Poi Ada Rossi rimarrà col proprio. Quindi l'asseganzione debba
avvenire la prima volta quando va a sistemarsi il suo archivio esistente e
poi sull'inserimento della prossima Ada Rossi.
Quindi è validissima la soluzione di Roberto
ciao MAssimiliano
--------------------------------
Inviato via 
http://usenet.libero.it

 Quindi è validissima la soluzione di Roberto
[...]
    Infatti. Non mettevo in discussione la proposta di Roberto. E l'uso
che ne verra' fatto sara' certo quello che tu indichi. Grazie.


 poi sull'inserimento della prossima Ada Rossi.
Sì infatti è così; adesso provo la soluzione di Roberto che intanto
ringrazio moltissimo.
Ciao
Ilaria

 ORDER BY Tabella1.Cognome, Tabella1.Nome, Tabella1.ID;
Sei stato un mago!!!!
Sai che ci ho messo un po' a capire come funzionava la tua soluzione; è
troppo bella!!!
Ho imparato una cosa che non sapevo: DCount all'interno di una query può
referenziare nei criteri campi della query stessa (l'ho detto male, ma spero
tu abbia capito).
Grazie 1000
Ilaria

 ha scritto nel messaggio
news:df8aa.186525$YG2.5...@twister1.libero.it...

E' però giusto ricordare che le funzioni di aggregazione sui domini (DCount,
DSum, Dlookup ecc. ecc.) nelle query appesantiscono l'elaborazione, quindi
sono da usare con parsimonia. Per mitigare l'effetto negativo , se non l'hai
già fatto, dichiarati due indici rispettivamente uno sul campo Nome ed un
altro sul campo Cognome: quello su ID penso che se lo sia già dichiarato
Access.
