|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
02-03-2004, 17.37.18 | #1 |
Senior Member
Registrato: 25-04-2003
Messaggi: 372
|
help!
ho un database con 3 tabelle: A,B,C A e' collagata molti a molti a C, cioe' A e' collegata una a molti a B B e' collegata una a molti a B ecco, con una maschera M1, devo prendere l'attributo A1 dalla tabella A, C1 dalla tabella C e visualizzarli. poi ho un'altra maschera che all'inserimento deve prendere i dati che ci sono nelle caselle di testo della maschera M2 che inserisce alcuni valori in A e altri in B prendendoli da C e poi: dove si mettono i comandi sql?!?!?!?
___________________________________
~Cucciolo~ Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore. |
02-03-2004, 19.19.59 | #2 | |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Quota:
Non ho capito una mazza, soprattutto "B e' collegata una a molti a B". |
|
02-03-2004, 21.38.30 | #3 |
Senior Member
Registrato: 25-04-2003
Messaggi: 372
|
va beh...
ti spiego tutto bene: ho due tabella con degli attributi: Prodotto: CODICE,nome Componenti: CODICE, prezzo1, prezzo3, descrizione e altre cose superflue poi ho l'associazione molti a molti (un prodotto viene fatto da + componenti e + componenti sono usati x fare + prodotti) che di conseguenza diventa una tabella: Associazione:CODICEPRODOTTO, CODICECOMPONENTI, quantità (di ogni tipo di componente) va beh, quello che nn so fare sono le interrogazioni o query 1: dato il codice di un prodotto, calcolare i 2 totali (somma delle quantita*prezzo1,somma delle quantita*prezzo2,) 2: dato il codice del prodotto, visualizzare tutti i componenti che lo compongono.
___________________________________
~Cucciolo~ Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore. |
03-03-2004, 08.12.43 | #4 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Ora l'è un po più chiaro.
Se hai già definito le relazioni tra tabelle, la query l'imposta Access direttamente, almenoper quanto riguarda i join. Ci sono moltissime funzioni matematiche in SQL, tipo SUM che ti servirà sicuramente: "1: dato il codice di un prodotto, calcolare i 2 totali (somma delle quantita*prezzo1,somma delle quantita*prezzo2,)" (Non le ricordo tutte, guarda la guida di Access.) Ps: Attenzione che un qualunque campo calcolato necessita di un campo virtuale che contenga il risultato del calcolo, il cui nome non centra nulla con nessuno dei nomi delle tabelle che intervengono nella SQL Es: Select SUM([Nome campo tabella]*qualcosa]) As [Nome campo virtuale] From Tabella, ecc Una volta che hai ricavato la sintassi della SQL(te la dice Access) sei a cavallo in quanto in VBA non cambia nulla. |
03-03-2004, 16.23.50 | #5 |
Senior Member
Registrato: 25-04-2003
Messaggi: 372
|
Codice:
1: select sum(componenti.prezzo1*associazione.quantita) as "Prezzo1" sum(componenti.prezzo2*associazione.quantita) as "prezzo2" from prodotti innerjoin (associazioni innerjoin prodotti on prodotti.codice=associazione.codicep) on componenti.codice=associazione.codicec group by componeti.codice where prodotti.codice=<codice inserito> Codice:
2:select componenti.codice componenti.descrizione associazione.quantita from componenti innerjoin (associazione innerjoin prodotti on prodotti.codice=associazione.codicep) on componenti.codice=associazione.codicec group by componenti.codice where prodotti.codice=<codice da inserire>
___________________________________
~Cucciolo~ Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore. |
03-03-2004, 17.24.12 | #6 | |
Senior Member
Registrato: 25-04-2003
Messaggi: 372
|
Quota:
tasto dx sulla query => visualizzazione SQL e poi ho messo cosi: Codice:
SELECT componenti.codice, componenti.descrizione, associazione.quantita, Sum([componenti.prezzo1]*associazione.quantita) AS [Somma Di prezzo1], Sum([componenti.prezzo2]*associazioni.quantita) AS [Somma Di prezzo2] FROM prodotti INNER JOIN (componenti INNER JOIN associazione ON componenti.codcom=associazione.codcom) ON prodotti.codpro=associazione.codpro GROUP BY componenti.descrizione, associazione.quantita; ??? e poi come si fa a fare select prodotti.* ? l'asterisco nn funziona...
___________________________________
~Cucciolo~ Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore. |
|
03-03-2004, 19.27.35 | #7 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
SELECT * FROM Prodotti indica di predisporre un buffer di contenimento dei valore di ogni singola colonna della tabella Prodotti.
La sintassi che hai proposto tu non è corretta. Quando dico "sei a cavallo" intendo che sei a cavallo per quanto riguarda la programmazione in VBA, ossia la creazione di recordset basati su query SQL. La sintassi che ti propone ACCESS è infatti la stessa che dovrai utilizzare quando creerai la query SELECT dell'oggetto Recordset. (DAO o ADO vedi tu) |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|