71 messaggi dal 06 settembre 2002
Ciao a tutti non so se qulcuno di voi può darmi una mano.
Devo fare un sito basato su un db access nel quale ci sono due tabelle:una contiene il campo "Id" e il campo "Artisti" , dove vengono inseriti i nomi e degli artisti. Nell'altra tabella "quadri", ho diversi campi dove vengono inserite varie informazioni su ogni singolo quadro( dimensioni,tecnica, foto ecc...).
ORa il mio problema è fare in modo che ad ogni artista nella tabella "artisti" corrisponda uno o più quadri contenuti nella tabella "quadri".
Tutto ciò lo devo fare su un pannello di controllo.
Ho già fatto il modulo per inserire nella tabella artisti il nome e cognome dell'artista. E funziona!
Ora la form per inserire i quadri in base all'artista è fatta in questo modo:
ho creato una casella di riepilogo dove vengono estratti dati degli artisti dalla tabella 2artisti":
<select name= "artisti">
<%

Dim objConn
Dim objRS
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&server.mappath("/mdb-database/artisti.mdb")
Set objRS = Server.CreateObject ("ADODB.Recordset")
set objRs = objConn.Execute("SELECT * from artisti")
Do While Not objRs.EOF
valore = objRS("Artisti")
Response.Write "<OPTION VALUE='" & valore &"'>" & valore & "</OPTION>"
objRS.MoveNext
Loop
objRS.Close
Set objRS =Nothing
objConn.Close
Set objConn = Nothing


%>
per far intaragire le due tabelle ho messo un campo Artisti, numerico, nella tabella "quadri". La stessa tabella "artisti" ha un campo Artisti ,ma è testo.
Il mio problema resta quello di far in modo che ad ogni artista corrisponda uno o più quadri.

grazie

71 messaggi dal 06 settembre 2002
ragazzi, forse mi sono spiegato male?
qualcuno è in grado d'aiutarmi?

3 messaggi dal 09 novembre 2001
ciao. credo (spero!) di avere capito la tua necessità, ok anche io ho realizzato qualcosa del genere.
Secondo me:

1) nella tabella degli artisti deve esistere un campo Autonumber (o contatore in italiano) nominato "art_ID" come chiave primaria, così che ogni artista ha un proprio ID unico.
2) nella tabella quadri deve esserci un campo "art_ID" di tipo numerico "long" (normale, NON chiave primaria, duplicati ammessi... sono le impostazioni di default)

in questo modo puoi creare relazioni uno a molti.

3)il ciclo Do Loop riscrivilo così:

<b>Do While Not objRs.EOF
nome = objRS("Artisti")
id = objRS("ID")
Response.Write "&lt;OPTION VALUE='" & id &"'&gt;" & nome & "&lt;/OPTION&gt;"
objRS.MoveNext
Loop</b>

in questo modo nell'elenco vengono scritti i nomi degli artisti, ma il valore delle OPTION è quello del loro ID ... questo sarà il valore passato con i dati del form.

Una volta scelto l'artista e inviato il form, nella tabella dei quadri inserisci il valore ID dell'artista nel campo ID del quadro. Così ogni quadro ha nel suo record anche l'identificativo dell'artista che lo ha realizzato.

Ora con istruzioni SQL con la clausola "WHERE" sei in grado di tirare fuori dai quadri quelli con l' ID di un singolo artista.

Spero di non essere stato contorto :)

dayel

71 messaggi dal 06 settembre 2002
devo creare una relazione tra le due colonne delle due tabelle in access?
Mi sembra di no, però sono indeciso.

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.