Telefonino.net network
 
| 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 » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 02-03-2004, 17.37.18   #1
Cucciolo
Senior Member
 
L'avatar di Cucciolo
 
Registrato: 25-04-2003
Messaggi: 372
Cucciolo promette bene
help!

Access
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.
Cucciolo non è collegato   Rispondi citando
Vecchio 02-03-2004, 19.19.59   #2
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Quota:
dove si mettono i comandi sql?!?!?!?
Io ce l'avrei un'idea

Non ho capito una mazza, soprattutto "B e' collegata una a molti a B".
LoryOne non è collegato   Rispondi citando
Vecchio 02-03-2004, 21.38.30   #3
Cucciolo
Senior Member
 
L'avatar di Cucciolo
 
Registrato: 25-04-2003
Messaggi: 372
Cucciolo promette bene
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.
Cucciolo non è collegato   Rispondi citando
Vecchio 03-03-2004, 08.12.43   #4
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
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.
LoryOne non è collegato   Rispondi citando
Vecchio 03-03-2004, 16.23.50   #5
Cucciolo
Senior Member
 
L'avatar di Cucciolo
 
Registrato: 25-04-2003
Messaggi: 372
Cucciolo promette bene
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.
Cucciolo non è collegato   Rispondi citando
Vecchio 03-03-2004, 17.24.12   #6
Cucciolo
Senior Member
 
L'avatar di Cucciolo
 
Registrato: 25-04-2003
Messaggi: 372
Cucciolo promette bene
Quota:
Originariamente inviato da LoryOne
Una volta che hai ricavato la sintassi della SQL(te la dice Access) sei a cavallo in quanto in VBA non cambia nulla.
nn ho capito cosa intendi, cmq ho guardato sulla guida di access e nn c'e' niente, allora ho provato "x tentativi" (lo so, e' un po' brutto ma e' l'unico modo che mi e' rimasto)

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;
ma poi quando lo eseguo mi esce una finestrella che mi chiede il componente.codice, e un'altra che chiede 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.
Cucciolo non è collegato   Rispondi citando
Vecchio 03-03-2004, 19.27.35   #7
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
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)
LoryOne non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Orario GMT +2. Ora sono le: 15.26.25.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.