Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-04-2006, 10:38   #1
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
[ACCESS] Ricerca all'interno di tabelle correlate

Ciao, buonasera.
Sto sbattendo la testa su questo archivio ormai da 1 mese e purtroppo non conosco bene access....Cerco aiuto.
Sto realizzando un archivio per dei brani musicali. Questo archivio ha una tabella principale chiamata COSTANTI dove sono memorizzati i vari record (titoli e altre informazioni dei brani). C'è anche una cartella VARIABILI dove ci sono i titoli secondari dei brani che si trovano in COSTANTI.
Praticamente, ogni [Titolo principale] che si trova in COSTANTI può avere + di un [Titolo] che si trova in VARIABILI.
A legare queste 2 tabelle ci sono i campi [ID]in COSTANTI e [Riferimento ID]in VARIABILI.
Ho realizzato una maschera legata ad una query di selezione per effetuare la ricefca tramite [Titolo principale]. Ovviamente la ricerca dovrà essere eseguita anche su [Titolo]. Il problema è che, se io faccio una ricerca su tutti i brani che iniziano per "A", lui nella maschera mi ripete i [Titolo principale] tutte le volte che trova nel corrispettivo [Titolo] un brano che inizia per "A".
Praticamente, se io ho questo record:

[Titolo principale]=Brocco [ID]=1
[Titolo]=Allready [Riferimento ID]=1
[Titolo]=Assie [Riferimento ID]=1
[Titolo]=Amelia [Riferimento ID]=1

...lui mi mostra 3 volte la stessa maschera anche se tutti e 3 i titoli appartengono allo stesso [ID]=1


Come posso correggere questa cosa?

PS se qualcuno vuole posso passargli il file.
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2006, 18:15   #2
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
Nessuno può aiutarmi?
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2006, 13:22   #3
Viperfish
Senior Member
 
L'Avatar di Viperfish
 
Iscritto dal: Nov 2002
Città: Torino
Messaggi: 1124
cioè il problema è che ti tira fuori solo i titoli secondari che iniziano per A, mentre tu vorresti titolo che inizia per A seguito da titoli secondari a prescindere dall'iniziale?

potresti postare la query che hai utilizzato?
__________________
"Ai consider des de fleg ov iunait stais nos onli e fleg ov e caunti, bas is a iuniversal messeig ov fridom ev... dimocrasi"
Viperfish è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 09:46   #4
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
Quote:
Originariamente inviato da Viperfish
cioè il problema è che ti tira fuori solo i titoli secondari che iniziano per A, mentre tu vorresti titolo che inizia per A seguito da titoli secondari a prescindere dall'iniziale?

potresti postare la query che hai utilizzato?

Ciao, e grazie tantissimo per la risposta.

Non prorpio.

Se nella query inserisco solo la tabella COSTANTI, inserendo "A" lui mi tira fuori tutti i record che iniziano per "A". Ho realizzato una maschera per cui, ogni volta che mostra un record proveniente dalla query, lui associa i corrispettivi "titoli secondari" a quel "titolo primario" (grazie al campo ID e RIFERIMENTO ID). Fin qui tutto bene, la maschera funziona a meraviglia e anche la query:

SELECT Costanti.ID, Costanti.[Titolo Primario], Costanti.Genere, Costanti.Durata, Costanti.Autori, Costanti.Descrizione, Costanti.SIAE
FROM Costanti
WHERE (((Costanti.[Titolo Primario]) Like [Inserisci il titolo]+"*"))
ORDER BY Costanti.[Titolo Primario];


Il problema è che vorrei effettuare la ricerca in questione anche sui titoli secondari. Quindi creo una relazione tra le 2 tabelle nella query tramite il record ID---->RIFERIMENTO ID.
A questo punto inserisco lo stesso criterio di ricerca anche in VARIABILI sotto la voce [TITOLO] (titoli secondari).
Inserendo "A" mi trovo come risuulatato la maschera con il record principale [titolo primario] BUIACCA poiche nei titoli secondari [titolo] c'è un ALMA. Fin qui tutto perfetto.
Il problema subentra quando ho + di un titolo secondario. Lui mi mostra tante maschere uguali quanti sono i titoli secondari perche lui li vede come tante schede separate.
La query in questione è questa:

SELECT Costanti.ID, Costanti.[Titolo Primario], Costanti.Genere, Costanti.Durata, Costanti.Autori, Costanti.Descrizione, Costanti.SIAE, Variabili.Titolo
FROM Costanti LEFT JOIN Variabili ON Costanti.ID = Variabili.[Riferimento ID]
WHERE (((Costanti.[Titolo Primario]) Like [Inserisci il titolo]+"*")) OR (((Variabili.Titolo) Like [Inserisci il titolo]+"*"))
ORDER BY Costanti.[Titolo Primario];



Se trovassi il modo nella maschera di non mostrare i record con lo stesso [ID], avrei risolto il problema.
Oppure modificare la query....ma non so come.

Puoi aiutarmi? Se vuoi posso passarti l'archivio tramite email o MSN..
Il mio indirizzo è Marco1474@inwind.it

Grazie ancora

Ultima modifica di marco1474 : 19-04-2006 alle 09:50.
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 10:00   #5
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
Per farti capire meglio ti posto l'immagine della maschera:





Questa maschera in particolare, facendo la query con la lettera "B", esce fuori la maschera di ASTRA poiche nel titolo secondario c'è BOBO. ed è OK poiche la lettera "B" c'è solo nei titoli secondari. Se ci fossero stati + titoli secondari con la "B" lui mi avrebbe fatto vedere questa identica maschera per X volte quante sono i titoli con la "B".



Quest'altra invece si comporta addirittura differentemente:



Questa mi viene mostrata 3 volte poiche il tilolo con la "B" è in [titolo primario] e mi viene mostrata per 3 volte poiche i titoli secondari sono 3 e lui li interpreta come 3 singoli risultati anche se hanno lo stesso [ID].
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 13:12   #6
ViolaX
Member
 
Iscritto dal: Feb 2006
Messaggi: 36
Quote:
Originariamente inviato da marco1474
Questo archivio ha una tabella principale chiamata COSTANTI dove sono memorizzati i vari record (titoli e altre informazioni dei brani). C'è anche una cartella VARIABILI dove ci sono i titoli secondari dei brani che si trovano in COSTANTI.
Praticamente, ogni [Titolo principale] che si trova in COSTANTI può avere + di un [Titolo] che si trova in VARIABILI.
A legare queste 2 tabelle ci sono i campi [ID]in COSTANTI e [Riferimento ID]in VARIABILI.
Ho realizzato una maschera legata ad una query di selezione per effetuare la ricefca tramite [Titolo principale]. Ovviamente la ricerca dovrà essere eseguita anche su [Titolo]. Il problema è che, se io faccio una ricerca su tutti i brani che iniziano per "A", lui nella maschera mi ripete i [Titolo principale] tutte le volte che trova nel corrispettivo [Titolo] un brano che inizia per "A".
Praticamente, se io ho questo record:
Ciao, credo che il problema derivi dal Left Join, che reca sempre anche la tabella principale.
Non potresti mettere anche il "Titolo principale" nella cartella "VARIABILI" ?
In questo caso la query sarà solo su "VARIABILI" e dovrai leggere una sola volta tramite ID la tabella "COSTANTI", prima di iniziare il ciclo di composizione della griglia.

La mia spiegazione è un pò caotica, ciao !!!
ViolaX è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 13:59   #7
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
Quote:
Originariamente inviato da ViolaX
Ciao, credo che il problema derivi dal Left Join, che reca sempre anche la tabella principale.
Non potresti mettere anche il "Titolo principale" nella cartella "VARIABILI" ?
In questo caso la query sarà solo su "VARIABILI" e dovrai leggere una sola volta tramite ID la tabella "COSTANTI", prima di iniziare il ciclo di composizione della griglia.

La mia spiegazione è un pò caotica, ciao !!!

Capito......più tardi provo a fare come dici e poi ti dico se funziona.

Grazie 1000 per il sugerimento
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 16:09   #8
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
Quote:
Originariamente inviato da ViolaX
Ciao, credo che il problema derivi dal Left Join, che reca sempre anche la tabella principale.
Non potresti mettere anche il "Titolo principale" nella cartella "VARIABILI" ?
In questo caso la query sarà solo su "VARIABILI" e dovrai leggere una sola volta tramite ID la tabella "COSTANTI", prima di iniziare il ciclo di composizione della griglia.

La mia spiegazione è un pò caotica, ciao !!!

Purtroppo non funziona a livello logico. Potrei inserire una voce [titolo principale] in VARIABILI, ma il risultato non cambierebbe poiche leggerebbe in COSTANTI ogni volta che trova un titolo anche se nella stessa scheda.
Oppure inserire il titolo principale sotto [titolo] in VARIABILI ma a questo punto perderei il titolo principale poiche verrebbe visto come un titolo normale e quindi ripetuto in ogni scheda.
Ci vorrebbe un filtro nella maschera che tenga solo il primo riferimento ID e cancelli i successivi se sono uguali.
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 16:29   #9
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
Un'idea:

Guardate questa immagine:



Cliccando sulla freccetta a destra [BRANO SUCCESSIVO], lui va al record successivo trovato dalla query. Si può aggiungere a questo comando un istruzione del genere:
SE [ID] UGUALE A [ID DEL PRECEDENTE RECORD] ALLORA VAI AL RECORD SUCCESSIVO.

E' possibile?
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 16:45   #10
ViolaX
Member
 
Iscritto dal: Feb 2006
Messaggi: 36
Quote:
Originariamente inviato da marco1474
Purtroppo non funziona a livello logico. Potrei inserire una voce [titolo principale] in VARIABILI, ma il risultato non cambierebbe poiche leggerebbe in COSTANTI ogni volta che trova un titolo anche se nella stessa scheda.
Oppure inserire il titolo principale sotto [titolo] in VARIABILI ma a questo punto perderei il titolo principale poiche verrebbe visto come un titolo normale e quindi ripetuto in ogni scheda.
Ci vorrebbe un filtro nella maschera che tenga solo il primo riferimento ID e cancelli i successivi se sono uguali.
Ciao, sapevo di non essermi spiegata; non intendevo "inserire una voce", ma aggiungere un record in VARIABILI che contiene il titolo principale, trattandolo quindi come se fosse secondario.

Comunque, se vuoi un filtro, basta mettere nella query GROUP BY ID, ecc.

Credo che ti stia complicando la vita... se vuoi, invia il sorgente via mail, in qualsiasi momento
ViolaX è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 16:59   #11
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
Quote:
Originariamente inviato da ViolaX
Ciao, sapevo di non essermi spiegata; non intendevo "inserire una voce", ma aggiungere un record in VARIABILI che contiene il titolo principale, trattandolo quindi come se fosse secondario.

Comunque, se vuoi un filtro, basta mettere nella query GROUP BY ID, ecc.

Credo che ti stia complicando la vita... se vuoi, invia il sorgente via mail, in qualsiasi momento

Te ne sarei immensamente grato.....


Mi dai l'email in PVT?

Grazie ancora.

PS: Comunque avevo capito.....infatti avevo scritto: "Oppure inserire il titolo principale sotto [titolo] in VARIABILI ma a questo punto perderei il titolo principale poiche verrebbe visto come un titolo normale e quindi ripetuto in ogni scheda. "

Ultima modifica di marco1474 : 19-04-2006 alle 17:13.
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 18:05   #12
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775


Il codice SQL del tasto [RECORD SUCCESSIVO] è il seguente:

Private Sub RecordSuccessivo_Click()
On Error GoTo Err_RecordSuccessivo_Click


DoCmd.GoToRecord , , acNext

Exit_RecordSuccessivo_Click:
Exit Sub

Err_RecordSuccessivo_Click:
MsgBox Err.Description
Resume Exit_RecordSuccessivo_Click

End Sub



Come faccio ad inserirgli il comando:
SE [ID] UGUALE A [ID DEL PRECEDENTE RECORD] ALLORA VAI AL RECORD SUCCESSIVO?

marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2006, 10:14   #13
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 775
Ho risolto il problema grazie a ViolaX che è stata gentilissima.

La query è stata così modificata:


PRIMA:
SELECT Costanti.ID, Costanti.[Titolo Primario], Costanti.Genere, Costanti.Durata, Costanti.Autori, Costanti.Descrizione, Costanti.SIAE, Variabili.Titolo
FROM Costanti LEFT JOIN Variabili ON Costanti.ID = Variabili.[Riferimento ID]
WHERE (((Costanti.[Titolo Primario]) Like [Inserisci il titolo]+"*")) OR (((Variabili.Titolo) Like [Inserisci il titolo]+"*"))
ORDER BY Costanti.[Titolo Primario];


DOPO:
SELECT Costanti.ID, Min(Costanti.[Titolo Primario]) AS [MinDiTitolo Primario], Min(Costanti.Genere) AS MinDiGenere, Min(Costanti.Durata) AS MinDiDurata, Min(Costanti.Autori) AS MinDiAutori, Min(Costanti.Descrizione) AS MinDiDescrizione, Min(Costanti.SIAE) AS MinDiSIAE, Min(Variabili.Titolo) AS MinDiTitolo
FROM Costanti LEFT JOIN Variabili ON Costanti.ID = Variabili.[Riferimento ID]
WHERE (((Costanti.[Titolo Primario]) Like [Inserisci il titolo]+"*")) OR (((Variabili.Titolo) Like [Inserisci il titolo]+"*"))
GROUP BY Costanti.ID
ORDER BY Min(Costanti.[Titolo Primario]);


Ora funziona tutto a perfezione.



Grazie ancora a Viola
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 11:51   #14
simobert
Junior Member
 
Iscritto dal: Jul 2006
Messaggi: 3
Aiuto per SQL!

Ciao a tutti,
sono Simona, domani ho un esame su visual basic e sql e non ho trovato un argomento che devo sapere: USO DELLE VARIABILI NEL JOIN. Qualcuno può spiegarmelo?
Mandate la risposta a simobert@yahoo.com
aiutatemi!!!
simobert è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
Alcuni Galaxy S26 utilizzeranno il chip ...
Amazon, ecco i super sconti del weekend:...
Scovare un bug di sicurezza sui disposit...
Offerta Amazon su NordVPN: proteggi 10 d...
ECOVACS DEEBOT X8 PRO OMNI in offerta su...
Scope elettriche Tineco in offerta su Am...
Offerta Amazon sui robot EUREKA J15 Ultr...
Chrome disattiverà automaticament...
Tornano tutti e 4 i colori disponibili p...
Super sconto su iPhone 16: Amazon abbass...
Sconto pazzesco sulle Blink: videocamere...
Ring ancora in forte sconto, 35,99€ (-64...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v