|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Garlasco (PV)
Messaggi: 2097
|
[ACCESS] Query e campo contatore
Stavo creando una query che mi permettesse di avere un campo contatore aggiuntivo.
La query di partenza è composta da questi campi: Id Contratto; data_installazione; nome ecc ho bisogno di riordinare questa query in base alla data, e successivamente aggiungere un campo progressivo... il problema è che usando funzioni tipo DCount o simili il progressivo segue l'ordine dell'id contratto anzichè la data e se invece "mi appoggio" alla data quando ho 2 date uguali genera 2 numeri progressivi uguali... come faccio a rivolvere il problema?
__________________
Sempron 3100+ 256kb... ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Forse l'uovo di Colombo potrebbe essere avere già un campo "ordineDataInstallazione". Ad ogni inserimento semplicemente si fa il Select MAX(ordineDataInstallazione) + 1...
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2002
Città: Garlasco (PV)
Messaggi: 2097
|
cioè?
__________________
Sempron 3100+ 256kb... ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2002
Città: Garlasco (PV)
Messaggi: 2097
|
ti spiego...
ora ho una tabella così (la tabella è già popolata): id_c |data 520 | 10gen 36 | 11gen 534 |18gen 515 |18gen se aggiungo un campo progressivo "appoggiandomi" su id_c ho un elenco di progressivo senza duplicati (xè id_c non ammette duplicati) ma questo progressivo seque l'ordine di id_c invece deve seguire l'ordine della data e se invece mi "appoggio" a data mi duplica l'indice progressivo tutt'ora è così: SELECT (Select Count(*) FROM clienti_inst_contratto as a where a.id_contratto <= clienti_inst_contratto.id_contratto) AS Progressivo, clienti_inst_contratto.id_contratto, clienti_inst_contratto.data_intervento, * FROM clienti_inst_contratto;
__________________
Sempron 3100+ 256kb... ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Codice:
SELECT (Select Count(*) FROM clienti_inst_contratto as a where a.id_contratto <=ext .id_contratto) AS Progressivo1, (SELECT Count(*) FROM clienti_inst_contratto as a WHERE a.data<ext.data OR (a.data=ext.data AND a.id_contratto<=ext.id_contratto)) as Progressivo2, ext.* FROM clienti_inst_contratto as ext
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:56.