386 messaggi dal 25 maggio 2001
ho un form per la ricerca in un db, devo ricercare nel db tramite 2 voci (autore e titolo), però mi deve visualizzare anche altre voci,
il db è formato da 6 tabelle in relazione tra di loro, quella principale Volumi e altre 5 citta, editore, prezzo, secondoautore, primavoce.
1) se richiamo tutti i dati dalla tabella volumi mi visualizza tutti i dati però dalle tabelle citta, editore, prezzo mi visualizza solo dei numeri e nn le voci ke sn inserite.
Select Autore,Titolo,Anno, Pagina, Citta, prezzo, editore 
From volumi


2) se invece richiamo tutti i dati da ogni singola tabella citta, editore, prezzo mi visualizza solo i dati di una singola tabella.
Select Autore,Titolo,Anno, Pagina, Citta, prezzo, editore 
From volumi, citta, prezzo, editore   


devo costruire un motore di ricerca che partendo daun form dove ci sn 3 campi per cercare un volume, mi visualizza una tabella cn i seguenti dati Autore, Titolo, Anno, Pagina, Citta, Prezzo, Editore.

Chi mi può dare un aiutino?
Grazie
72 messaggi dal 21 settembre 2002
:-)
dovevi aspettarti che se visualizzavi i dati della tabella volumi alle voci città editore e prezzo apparivano numeri apparentemente senza senso.
In effetti quelli sono gli identificativi UNIVOCi che mettono in relazione la tabella (madre) Volumi con le tabelle (figlie).
Credo che tu abbia bisogno di una Select con JOIN ma per dirti come deve essere compilata sarebbe meglio che mi indicassi con precisione, per ciascuna tabella, nome e tipo di dato di ciascun campo presente.


Modificato da ram60 il 10 maggio 2003 17.37 -
386 messaggi dal 25 maggio 2001
tabella volumi
campi: ID (contatore), autore(testo), titolo(testo), anno(testo), pagina(testo), citta (numerico), prezzo (numerico), editore (numerico)

tabella editore
campi: ID (contatore), editore (testo)

tabella citta
campi: ID (contatore), citta (testo)

tabella prezzo
campi: ID (contatore), prezzo (testo)

tra parentesi il tipo di dati.

Grazie

72 messaggi dal 21 settembre 2002
Allora l'istruzione dovrebbe essere questa (massima attenzione ai puntini. che separano il nome della tabella dal campo tabella.campo):

SELECT volumi.Id, volumi.autore, volumi.titolo, volumi.anno, volumi.pagina, citta.citta, prezzo.prezzo, editore.editore
FROM ((volumi LEFT JOIN citta ON volumi.citta = citta.Id) LEFT JOIN editore ON volumi.editore = editore.id) LEFT JOIN prezzo ON volumi.prezzo = prezzo.id;

non ho aggiunto il criterio di ricerca perchè non so quali sono i tre campi del form da riempire per avviare una ricerca.

Intanto prova questa, che dovrebbe restituirti tutti i libri della tabella volumi con i giusti editori, città e prezzi.

Se poi mi dici quali sono i tre campi ti ci metto dentro pure la ricerca.
Ciao
386 messaggi dal 25 maggio 2001
i campi definitivi per la ricerca nn sono tre ma sono:
Autore, titolo, primaesecondasottovoce, primasecondavoce, editore, citta.


cmq l'esempio ke hai postato prima mi ridà questo errore:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.

/volumi/elenchi_locali.asp, line 98

line 98 = rsDC.Open cmdDC, , 0, 1

perkè?

Grazie
72 messaggi dal 21 settembre 2002
ma dove stanno quei campi primaescondavoce, sottovoce etc etc?
386 messaggi dal 25 maggio 2001
primaesecondasottovoce è un campo della tabella volumi che serve per la ricerca ma che nn deve essere visualizzato.

primasecvoce, secondoautore sono altre 2 tabelle collegate cn una query ke però servono solo per la ricerca nn devono essere visualizzate.
72 messaggi dal 21 settembre 2002
ALT. RESET BOOTSTRAP
Dimmi TUTTI i campi della tabella volumi, città, editore, prezzi etc etc anche se non devono essere visualizzati sennò non ci capiamo più.
In altre parole, cerca di descrivere TUTTO il database senza tralasciare nulla; ovviamnete per descrivere intendiamo, da buoni tecnci, nome di TUTTE le tabelle, di TUTTI i campi e di TUTTE le query
Modificato da ram60 il 12 maggio 2003 19.14 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.