Newsgroup: it.comp.appl.access
Titolo: Evidenziare record su una tabella con dati da un altra

Buonasera a tutto il preziosoNG!
Ho un problema circa la possibilità di evidenziare alcuni record che
corrispondono a valori residenti in un altra tabella.
Il problema è che la prima tabella contiene 2 campi distinti con una serie
di record e la seconda tabella contiene i record da confrontare su un campo
unico
es.
tab1
campo1
343
654
232
campo 2
454
387
121
la seconda tabella contiene
campo1
343
654
232
776
454
387
121
433
come posso fare ad evidenziare con una query i record che nei campi di
tabella 1 corrispondono a quelli di tabella 2 ???
Vi ringrazio come sempre per l'aiuto che vorrete darmi, io non ne sono
venuto a capo per nulla !
Grazie e buona serata
Paolo

 Paolo
Non capisco cosa intendi dire con Evidenziare.
Tramite una Queri con le 2 Tabelle ed impostando
il JOIN in modo da considerae solo i record con ChiavePrimaria
uguale potresti ottenere un elenco pulito, sapendo che 
quello che vedi è contenuto nella Tabella di confronto.
Se invece ti serve solo a livello grafico, devi usare una
Maschera in visualizzazione continua e sfruttare la
Formattazione Condizionale, inserendo un Controllo Con
origine calcolata con un Dlookup che punta alla Tabella 2
e condizionando il singolo record della Formattazione con
il valore del controllo comparativo.
Ciao
@Alex 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:8174e12684997cebd0...@mygate.mailgate.org...

Ciao a te Alex buongiorno,
Si mi sono espresso male, intendevo creare un campo nella query che mi
potesse "fleggare" i record nella tabella con un solo campo che sono eguali
ai record nella tabella dove i record sono in due campi distinti.
Avevo pensato di utilizzare una funzione Iif ma non so come gestirla (sempre
che sia corretta) in questa situazione.
Ti ringrazio molto se mi puoi dare una mano in questo senso.
P.s. complimenti per il sito!
Paolo

 Paolo
Spero di aver capito meglio...! ;-)
Inserisci un Campo nella Query dove puoi usare
la funzione di aggregazione sui domini oppure una
SubSelect.
Per ora vada per la 1° è più semplice da spiegare.
Flag:(Dcount("[NomeCampo2]";"NomeTabella2";"[NomeCampo2] =" &
[NomeCampo1])>0
In pratica con Dcount vai a contare nella Tabella2(quella di Confronto)
quanti Record ci sono con il Campo(NomeCampo2)=Al Nome campo corrente
della Tabella sulla quale hai la Query.
Se il Dcount>0 restituisce true.
Dovresti avere una nuova colonna nella Query con :
Flag:
Vero
Falso
Vero
Vero
Potrebbe essere Numerico, il che è meglio:
Flag:
-1
0
-1
-1
Ecc....!


 ha scritto nel messaggio
news:4bd6ceab5d1247c5d3...@mygate.mailgate.org...

Alex riciao sono ancora io.... ho messo in pratica cio che mi hai suggerito
cosi velocemente pero credo di aver interpretato non bene la sintassi della
funzione
Ho messo la formula cosi :
Flag: DCount("[codice]";"tabella1";"[padre] =" & [figlio])>0
dove "codice" è il campo che contiene i record nella tabella1 (dove sono
tutti i record in un campo solo, mentre padre e figlio sono i record nei
rispettivi campi della tabella2 e la mia query l'ho basata solo sulla
tabella 2).
Il risultato è una sequenza di 0 che pero non mi permette di verificare se
ci sono valori "-1" perche sembra che mi replichi innumerevoli volte le
righe dei risultati e solo taskando il Db posso uscirne
Credo proprio di aver sbagliato qualcosa, se sei cosi gentile da chiarirmi
dove ti sarei grato.
Per chiarezza la tabella1 e cosi fatta
codice
43
23
65
22
55
66
77
la tabella 2 invece
padre    figlio
43        55
43        22
43        23
44        11
22        77
55        10
65        67
23        66
il campo calcolato dovrebbe dare
padre    figlio    flag
43        55        vero
43        22        falso
43        23        vero
44        11        falso
22        77        vero
55        10        falso
65        67        falso
23        66        vero
quindi nel caso che padre e figlio esistano entrambi nella tabella1 il
criterio restituisce vero altrimenti falso (tieni conto che i valori padre e
figlio possono essere ripetuti nella tabella 2 e sono di tipo testo per
ambedue le tabelle)
Grazie ancora a te e a tutto il NG
Paolo

 Paolo
Non mi fare gli scherzi però...!!!
La 2° riga è sbagliata in quanto sia 43 che 22 
ci sono...!!!
43        22        Vero
Sono partito da zero creandomi le 2 tabelle che
hai menzionato ed ho estratto questo del quale
fai Copia/Incolla in una Query:
'-------------- TESTO DA COPIARE ----------
SELECT Tabella2.padre, Tabella2.figlio, Tabella1.Codice AS CodiceP,
Tabella1_1.Codice AS CodiceF, Nz(Len([CodiceP])>0 And
Len([CodiceF])>0,False) AS Flag
FROM (Tabella2 LEFT JOIN Tabella1 ON Tabella2.padre = Tabella1.Codice)
LEFT JOIN Tabella1 AS Tabella1_1 ON Tabella2.figlio = Tabella1_1.Codice;
'-------------------------------------
ho usato tabella1 e tabella2 ed i nomi come mi hai detto:
'-------- Questo è un pò più comprensibile per la lettura
SELECT Tabella2.padre, 
       Tabella2.figlio, 
       Tabella1.Codice AS CodiceP, 
       Tabella1_1.Codice AS CodiceF, 
       Nz(Len([CodiceP])>0 And Len([CodiceF])>0,False) AS Flag
FROM (Tabella2 
      LEFT JOIN Tabella1
      ON Tabella2.padre = Tabella1.Codice)
      LEFT JOIN Tabella1 AS Tabella1_1 
      ON Tabella2.figlio = Tabella1_1.Codice;
Risultato:
Padre     Figlio    Flag      CampoP     CampoF
 43        55        -1          43         55
 43        22        -1          43         22
 43        23        -1          43         23 
 44        11        0    
 22        77        -1          22         77
 55        10        0           55
 65        67        0           65
 23        66        -1          23         66
Ora il motivo dei 2 campi che vedi è per il Left Join
con la tabella2 su entrambi i campi.
-1=Vero
0=False
Ho preferito usare il Boolean, ma se preferisci 
usa un IIF per convertire in stringa.


 ha scritto nel messaggio
news:c742b485a4cb595816...@mygate.mailgate.org...

Alex....che dire.....semplicemente perfetto! geniale .....mai sarei arrivato
a concepire una cosa del genere...mi hai veramente risolto un problemone e
chissa se un giorno potro ricambiare ne sarei felice ma sarà piu facile che
la sonda arrivi su Plutone dopo Titano che io arrivi a tanto!
Grazie infinite !
(mo me lo studio perbene......)
Buona serata
Paolo