IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Access
  New Posts New Posts RSS Feed - Comparare record consecutivi [RISOLTO]
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


REGISTRATEVI su IALWeb forum!

Comparare record consecutivi [RISOLTO]

 Post Reply Post Reply Page  12>
Author
Message
JJCHCK View Drop Down
Utente Senior
Utente Senior


Joined: 15/Feb/2011
Location: Italy
Status: Offline
Points: 230
Post Options Post Options   Thanks (0) Thanks(0)   Quote JJCHCK Quote  Post ReplyReply Direct Link To This Post Topic: Comparare record consecutivi [RISOLTO]
    Posted: 20/Ott/2011 at 17:16

ho cercato ma non mi sembra di aver trovato molto

vorrei confrontare i record di una tabella con due campi:

articolo,stato_anagrafico

vorrei evitare di usare dlookup perchè le performance non sono buone...

però non so come altro fare

Debbo fare un'Update su un campo che aggiungo (il terzo) ed inserire "x" laddove l'articolo si a uguale e dove nel secondo campo i record portino tutti lo stesso stato (1)....

come posso fare? non voglio la soluzione ...basta la dritta



Edited by JJCHCK
Back to Top
Sponsored Links


Back to Top
Luciano View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 05/Giu/2010
Location: Italy
Status: Offline
Points: 2121
Post Options Post Options   Thanks (0) Thanks(0)   Quote Luciano Quote  Post ReplyReply Direct Link To This Post Posted: 20/Ott/2011 at 17:24

SELECT IdSito, MattinaS, IIf([idsito]=[mattinas],"sì","no") AS uguali
FROM Turni;

 

ciao

Dio è Amore e Pace
Catalogo funzioni
Back to Top
JJCHCK View Drop Down
Utente Senior
Utente Senior


Joined: 15/Feb/2011
Location: Italy
Status: Offline
Points: 230
Post Options Post Options   Thanks (0) Thanks(0)   Quote JJCHCK Quote  Post ReplyReply Direct Link To This Post Posted: 20/Ott/2011 at 18:05

grazie per la risposta

tuttavia non son sicuro di aver capito

Back to Top
Luciano View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 05/Giu/2010
Location: Italy
Status: Offline
Points: 2121
Post Options Post Options   Thanks (0) Thanks(0)   Quote Luciano Quote  Post ReplyReply Direct Link To This Post Posted: 20/Ott/2011 at 22:42

Si tratta di una query che puoi adattare sostituendo ai due nomi campo

IdSito, MattinaS,  i tuoi campi: articolo, stato_anagrafico.

al posto di turni, il nome della tua tabella.

uguali è il nome del campo che si crea.

Ciao

Dio è Amore e Pace
Catalogo funzioni
Back to Top
JJCHCK View Drop Down
Utente Senior
Utente Senior


Joined: 15/Feb/2011
Location: Italy
Status: Offline
Points: 230
Post Options Post Options   Thanks (0) Thanks(0)   Quote JJCHCK Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 09:11

ciao

forse mi sono spiegato male

debbo inserire una 'x' laddove si tratta sempre dello stesso articolo e nel secondo campo ci siano tutti 1....

allego esempio2011-10-21_091141_db.zip

Back to Top
65.franco View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 19/Apr/2009
Location: Italy
Status: Offline
Points: 4108
Post Options Post Options   Thanks (0) Thanks(0)   Quote 65.franco Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 10:17

Manca il contesto dove vuoi eseguire questo processo.

Manca un po' di precisazioni che occorrono per capire meglio l'esigenza...

Ad ogni modo , se vuoi falro da codice puoi fare unacosa di questo tipo:


CurrentDb.Execute "UPDATE tuaTabella SET terzoCampo = 'x' WHERE articolo=" & tuovaloreArticolo & " And stato_anagrafico=" & tuovaloreStato & ";"


Se vuoi farlo con una query inserisci le istruzioni in questo modo :

UPDATE tuaTabella SET terzoCampo = "x" WHERE articolo=3 AND stato_anagrafico=1;


Fai attenzione ai campi se sono di tipo numerico o di testo e metti gli appropriati apici dave occorre.

Ciaooo ...

 

Franco...
Back to Top
willy55 View Drop Down
Moderatore
Moderatore
Avatar
Esperto di Access

Joined: 03/Ago/2011
Location: Italy
Status: Offline
Points: 10334
Post Options Post Options   Thanks (0) Thanks(0)   Quote willy55 Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 10:54

Se ho capito bene, in una sequenza ordinata di articoli vuoi aggiornare il terzo campo (risultato) con "X", qualora un articolo abbia esclusivamente record con valori ad "1" altrimenti se vi sono occorrenze diverse da questa (ad esempio con "0") non effettua nulla.

Qualora la premessa sia valida puoi procedere con passi successivi in cui le query selezionano in sequenza i dati che ti interessano. Faccio un esempio:

Determini il conteggio dei record con stato a "0" (diverso da "1")


SELECT Tabella1.articolo, Tabella1.stato, Count(Tabella1.stato) AS ConteggioStato0
FROM Tabella1
GROUP BY Tabella1.articolo, Tabella1.stato
HAVING (((Tabella1.stato)<>"1"))
ORDER BY Tabella1.articolo, Tabella1.stato;

qryConteggioDiverso1
articolo stato ConteggioStato0
A 0 1
C 0 3

Determini il conteggio dei record con stato a "1" 


SELECT Tabella1.articolo, Tabella1.stato, Count(Tabella1.stato) AS ConteggioStato1
FROM Tabella1
GROUP BY Tabella1.articolo, Tabella1.stato
HAVING (((Tabella1.stato)="1"))
ORDER BY Tabella1.articolo, Tabella1.stato;

qryConteggioStato1
articolo stato ConteggioStato1
A 1 2
B 1 2
C 1 2
D 1 2

 

Prendi in esame i record da non aggiornare (record ove non porre la a"X") ove abbiamo sia lo stato a "0" che ad "1"


SELECT qryConteggioDiverso1.articolo, qryConteggioDiverso1.ConteggioStato0, qryConteggioStato1.ConteggioStato1
FROM qryConteggioDiverso1 LEFT JOIN qryConteggioStato1 ON qryConteggioDiverso1.articolo = qryConteggioStato1.articolo;


qryConteggioValoriDaNonAggiornare
articolo ConteggioStato0 ConteggioStato1
A 1 2
C 3 2

Metti a confronto queesta ultima query con la tabella iniziale e determini
i record che sono da aggiornare ove il ConteggioStato a "0" e "!" non è NULL.

 


SELECT Tabella1.*, qryConteggioValoriDaNonAggiornare.articolo, qryConteggioValoriDaNonAggiornare.ConteggioStato0, qryConteggioValoriDaNonAggiornare.ConteggioStato1, IIf(IsNull([ConteggioStato0]) And IsNull([ConteggioStato1]),True,False) AS ValoriSolo1
FROM Tabella1 LEFT JOIN qryConteggioValoriDaNonAggiornare ON Tabella1.articolo = qryConteggioValoriDaNonAggiornare.articolo;

qryConteggioValoriImputabili
Tabella1.articolo stato risultato qryConteggioValoriDaNonAggiornare.articolo ConteggioStato0 ConteggioStato1 ValoriSolo1
A 0
A 1 2 0
A 1
A 1 2 0
A 1
A 1 2 0
B 1 x


-1
B 1 x


-1
C 1
C 3 2 0
C 0
C 3 2 0
C 0
C 3 2 0
C 1
C 3 2 0
C 0
C 3 2 0
D 1 x


-1
D 1 x


-1

Dopodichè puoi gestire come di aggrada la query di update.
Tieni presente che puoi effettuare la medesima cosa (sfruttando la stessa logica) ciclando sul recordset e conteggiando (e contemporaneamente aggiornando) i valori per il sotto insieme di interesse (record con stato a tutti "1" ).

Allego anche il db
2011-10-21_104903_db.rar

Buon lavoro 

 

Willy
Back to Top
Luciano View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 05/Giu/2010
Location: Italy
Status: Offline
Points: 2121
Post Options Post Options   Thanks (0) Thanks(0)   Quote Luciano Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 11:03

2011-10-21_110019_db.zip

 

Avendo anch'io compreso alla maniera di Willy e avendo già iniziato la risoluzione fino al punto in cui si individuavano gli articoli il cui conteggio è uguale al conteggio degli articoli aventi tutti gli stati =""1", penso che sia il caso di pubblicarla anche se incompleta a dimostrazione della mia buona volontà.

Ciao

Dio è Amore e Pace
Catalogo funzioni
Back to Top
65.franco View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 19/Apr/2009
Location: Italy
Status: Offline
Points: 4108
Post Options Post Options   Thanks (0) Thanks(0)   Quote 65.franco Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 11:32

Purtroppo si naviga sempre a vista e si cerca di capire al meglio ciò che viene richiesto...
Spesso si perde anche del tempo inutilmnente.

Ma qui il regolamento e i regolamenti non li legge mai nessuno ? 
e pensare che i regolamenti vanno nella direzione e sono solo a vantaggio di chi richiede una saluzione, una risposta, un consiglio...

Un saluto a tutti.
Ciaooo ...

Franco...
Back to Top
JJCHCK View Drop Down
Utente Senior
Utente Senior


Joined: 15/Feb/2011
Location: Italy
Status: Offline
Points: 230
Post Options Post Options   Thanks (0) Thanks(0)   Quote JJCHCK Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 12:05

grazie a tutti

ineffetti ciò che volevo è proprio quello che willy ha capito...sono stato frettoloso

come sempre

Grazie Willy....fai paura...

cmq la strada che stavo perseguendo la allego sperando che mi diate qualche parere...anche se quella di willy con le query è perfetta...e quella del conteggio nel recordset è intrigante...2011-10-21_120537_db1.zip

...è solo una bozza

Back to Top
 Post Reply Post Reply Page  12>
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,078 seconds.