Newsgroup: it.comp.appl.access
Titolo: Confronto tra 2 recordset - parte 2 (sopr. x A. Biso) - Lungo

Antonio, scusami il richiamo diretto ma sono stato assente un tot di giorni
e ci terrei a fornirti chiarimenti circa il mio post precedente.
Avendo:
- mskCalendari: presenta l'IDCommessa ed i dati della commessa (tratti dalla
tabella tblCommessa);
- la sottomaschera smCalendari2: legata a mskCalendari dall'IDCommessa, a
maschere continue, elenca tutte le date pianificate per quella commessa e
per dei consulenti (pesca i dati dalla tabella tblCalendari).
- la relazione è uno-molti.
- nella sottomaschera, per ogni record è presente un pulsante che tramite
SQL verifica che in tblCalendari non siano memorizzate, in relazione al
consulente scelto per la data controllata,  altre date corrispondenti.
Questo in modo da evitare di pianificare al consulente due interventi in due
commesse diverse nello stesso giorno.
- tale controllo va fatto per ogni data inserita nella sottomaschera.
Cosa cerco?
Un modo (supponevo un pulsante nella maschera mskCalendari), tale per cui
A97 verifichi che per ogni data pianificata in relazione alla commessa
visualizzata ed al consulente indicato non esistano altre giornate
corrispondenti.
Ho provato ad aprire un recordset contenente tutte le date pianificate per
la commessa visualizzata, e mi sono interrotto per incapacità nei vari
tentativi di fare effettuare il controllo di cui sopra per ognuna delle date
del recordset.
Spero di essere stato maggiormente chiaro, stavolta!
Avete qualche dritta da darmi? Magari anche qualche alternativa per
raggiungere lo scopo, o escamotage vari?
Grazie ragazzi!
--
'--------------------------------------------------------
'Saludos
'--------------------------------------------------------

 corrispondenti.
Non sono chiare due cose:
prima di tutto dove è che vengono inseriti i record del lato molti, quindi i
consulenti e le date di intervento?
Non capisco (e secondo me questa è la strada giusta!!!) perchè il controllo
non lo fai al momento dell'inserimento di un nuovo intervento con la data e
il consulente. E' lì che va controllato se il consulente è già occupato per
quella data e quindi rifiutare l'inserimento!!!
Secondo non dici cosa vorresti fare nel caso vengano trovati delle date
duplicate.
La soluzione comunque per trovare quello che dici è preparare questa query
ci metti due volte la tabella tabella calendari, quindi metti in join i
campi idconsulente e data. Infine metti come criterio sotto il campo
idcommessa
[forms]![tuaform]![controlloIDcommessa] AND <> [tblCalendari1]![idcommessa]
In pratica vai a prendere i record con l'idcommessa selezionata dalla
maschera, li metti in corrispondenza con i corrispondenti con stessa data e
consulente (tra cui i record stessi) ma che abbiano idcommessa diversi. E'
come una ricerca duplicati quindi, ma con idcommessa diversi.
Infine vai a testare se questa query restituisce record, per esempio con una
dcount
Se la dcount è > 0 ci sono date duplicate, altrimenti no!!!
Antonio

 Antonio
Grazie mille per ora! Appena mi libero provo e poi ti faccio sapere ok? Ma
nella foto dl raduno tu sei quello con la barba? (vado a memoria) Ciao!

 nella foto dl raduno tu sei quello con la barba? (vado a memoria) Ciao!
Quello è il mitico lbo. Io sono quello col pizzo!!!
Antonio

CUT
Secondo te è piùveloce SQL o il Dlookup per andare a verificare ciò che devo
verificare.
Perchè per ora uso i recordset, ma se secondo te è più veloce il dlookup ci
potrei pensare!!!

 potrei pensare!!!
L'interrogazione ha bene o male lo stesso tempo
La dlookup ti restituisce un unico valore e ha il vantaggio di poter essere
usato come espressione nelle query o nei controlli.
Il recordset č un insieme di record che poi ti puoi manipolare a piacimento.
Questa direi che č la principale differenza.
Chiaro che se ti servono i dati di due record, ti conviene aprire un
recordset e fare movenext, piuttosto che due dlookup che interrogano il
sistema due volte
Antonio


Sto impostando controlli con dlookup, sembrerebbe fungere. Grazie mille per
ora! La query che mi hai suggerito invece mi sta dando filo da torcere, non
sono sicuro di avere ben capito ciň che mi hai spiegato. ora riprovo

 ha scritto nel messaggio
news:fYIf9.13251$6O4.2...@twister1.libero.it...

Questa č la query
SELECT calendari.idconsulente, calendari.data_lavoro, calendari.desc
FROM calendari INNER JOIN calendari AS calendari_1 ON
(calendari.idconsulente = calendari_1.idconsulente) AND
(calendari.data_lavoro = calendari_1.data_lavoro)
WHERE (((calendari.idcommessa)=[forms]![tuaform]![idcomessa] And
(calendari.idcommessa)<>[calendari_1]![idcommessa]));
Antonio