Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Le Jabra Evolve3 85 non sono semplicemente cuffie Bluetooth con cancellazione del rumore. Sono un dispositivo professionale pensato per chi trascorre gran parte della giornata in riunione, al telefono o davanti a un assistente basato sull'intelligenza artificiale
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-04-2006, 11:38   #1
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
[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, 19:15   #2
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
Nessuno può aiutarmi?
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2006, 14: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, 10:46   #4
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
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 è [email protected]

Grazie ancora

Ultima modifica di marco1474 : 19-04-2006 alle 10:50.
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 11:00   #5
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
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, 14: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, 14:59   #7
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
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, 17:09   #8
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
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, 17:29   #9
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
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, 17: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, 17:59   #11
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
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 18:13.
marco1474 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2006, 19:05   #12
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784


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, 11:14   #13
marco1474
Senior Member
 
L'Avatar di marco1474
 
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 784
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, 12: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 [email protected]
aiutatemi!!!
simobert è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Rubati 6 pallet di hardware NVIDIA da 11...
Addio ai limiti del silicio? Ecco il dia...
Windows 11 27H2 sarà un 'cambio completo...
Hai mai notato che l'iPhone sbaglia semp...
Raffreddamento a liquido e schermo perso...
TSMC valuta la produzione di 3D DRAM su ...
Il Cybertruck ha i giorni contati? Musk ...
Meta porta la voce su Muse, e a sponsori...
Perché il disco principale di Win...
Quanta acqua consuma l'IA? Da cinque goc...
Airbnb lancerà un assistente AI per pian...
25 miliardi sul tavolo: i sauditi voglio...
TV Haier QLED da 65'' a meno di 400€ su ...
Il meglio degli sconti Amazon del weeken...
Il rumore degli aerei in sottofondo può ...
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: 16:23.


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