Principiante con Access

clamp78

Nuovo Utente
6
0
Grazie anticipate a tutti coloro che mi aiuteranno...
E la prima volta che mi cimento nella programmazione di Access,
e vorrei iniziare con la gestione degli ordini di materiale necessari
alla realizzazione di una commessa:
ho creato delle tabelle (una per ogni fornitore) , dove ho riportato
tre colonne: una di conteggio, l'altra con il CODICE del fornitore,
e una DESCRIZIONE dell'articolo.

Ho creato una tabella "Commessa" dove ho riportato tre colonne
chiamate rispettivamente "ID" (numero progressivo) "CODICE" e
"DESCRIZIONE"...
Quello che vorrei è che scrivendo il codice sulla tabella "Commessa"
lui confronti il codice immesso con tutti i codici presenti nelle tabelle
dei fornitori citate sopra (la cosa importante è che il codice devo
poterlo scrivere, non selezionare da un menù a tendina che renderebbe
tutto estremamente dispersivo), ed in base al codice scritto,
il software mi scriva a fianco (nella colonna DESCRIZIONE della tabella
commessa) la descrizione di quel codice.

Se esistono altri sistemi a vostro avviso più semplici da utilizzare,
ditemi quali sono, tenete però presente che la cosa va poi
ampliata per la pianificazione delle attività.
Di nuovo grazie a tutti
 

appena_iscritto

Utente Attivo
505
2
CPU
t7600
HDD
200GB
RAM
2GB
GPU
Nvidia
OS
Vista Hp
ho creato delle tabelle (una per ogni fornitore)
questo non va, la tabella dei fornitori deve essere unica, con chiave il codice indentificativo di ogni fornitore.
Inoltre codice nn è chiave per la tabella commessa, quindi ad ogni codice possono corrispondere più descrizioni.
Va rivisto il modello relazionale perchè non va affatto bene
 

clamp78

Nuovo Utente
6
0
Spiegato cosi sono riuscito solo a capire che i codici dei fornitori
devono stare tutti su un unica tabella fornitori...e ho dubbi anche
che abbia capito bene questa cosa fondamentale.
 

appena_iscritto

Utente Attivo
505
2
CPU
t7600
HDD
200GB
RAM
2GB
GPU
Nvidia
OS
Vista Hp
Ogni tabella (relazione) deve rappresentare un' entità (del modello E/R)oltre che contenere gli attributi atti a costituire la relazione con altre tabelle (secondo un preciso mapping dipendente dalla molteplicità). Praticamente ogni entità rappresenta attraverso una modellazione ad attributi una realtà peculiare del dominio applicativo (il fornitore è una classe e può essere rappresentato da codice, ragione sociale, partita iva, ecc). Prova a descrivere meglio le funzionalità che il sistema dovrebbe avere.
 

clamp78

Nuovo Utente
6
0
La tabella dove immetto tutti i codici è così:
CODICE DESCRIZIONE
Codice 1 Descrizione 1
Codice 2 Descrizione 2
Codice 3 Descrizione 3


La tabella di gestione della commessa dovrebbe venire così:

CODICE ------ DESCRIZIONE
Scrivendo o selezionando il codice (sono riuscito a fare la selezione
mediante un menù a tendina ma è estremamente dispersivo)
vorrei che in automatico venga scritto la descrizione...
ad esempio:

Codice 1 in automatico mi scriva Descrizione 1
Codice 3 in automatico mi scriva Descrizione 3
Codice 3 (ripetuto) mi scriva Descrizione 3

Perche poi con lo stesso principio, aggiungerei anche delle colonne
con i prezzi dei vari articoli, scontistica, ecc
 

appena_iscritto

Utente Attivo
505
2
CPU
t7600
HDD
200GB
RAM
2GB
GPU
Nvidia
OS
Vista Hp
Conosci il concetto di chiave esterna?
Presumo che una commessa(identificata da un id) abbia un fornitore, un set di articoli(da inserire su una tabella associativa), un flag di consegna, ecc.
Non vedo cosa rappresentino le 2 tabelle codice-descrizione.
 

clamp78

Nuovo Utente
6
0
Una commessa può avere 10 fornitori
ABB, SIEMENS, GE ecc, e ogni fornitore ha 100000 articoli codificati e con una descrizione...
Ho la necessità, creato un database suddiviso in qualche maniera tra i vari fornitori, con codice e descrizione, di richiamare in una tabella "Commessa" che praticamente è il nostro cliente, tutto il materiale per la realizzazione del lavoro (materiale che deve essere ordinato poi dai vari fornitori)...
Innanzi tutto ho la necessità, scrivendo un codice, che a fianco in automatico il software mi scriva la descrizione corrispondente a quel codice, nient'altro...vorrei riuscire a fare solo questo!!!!
Non ho idea di cosa sia una chiave esterna...
 

appena_iscritto

Utente Attivo
505
2
CPU
t7600
HDD
200GB
RAM
2GB
GPU
Nvidia
OS
Vista Hp
Innanzi tutto il modello relazione non consente attributi multivalore (in questo caso fornitore)quindi quantomeno occorre una tabelle associativa (commessa-fornitore) con chiave esterna di cui ti parlavo prima.
Inoltre la descrizione di cui parlavi a cosa dovrebbe corrispondere?
 

clamp78

Nuovo Utente
6
0
Ti riporto un esempio al volo con due codici:
Elenco codici ABB:
Codice Descrizione
AE 721 9 Gemma luminosa verde
EA 203 8 Portafusibile 32A 2p
........... ............


Se nella tabella di gestione della Commessa, alla colonna CODICE inserisco 50 volte il codice "AE 721 9" vorrei che ini automatico scrivesse la descrizione che è "Gemma luminosa verde"... e via dicendo.
Volendo posso creare anche un database unico per tutti i fornitori perchè tanto i codici dei vari fornitori sono totalmente differenti tra di loro...
non devo fare altro che raggruppare in una teballa unica, tutti i codici e le relative descrizioni che mi sono già scritto in 5 tabelle differenti (5 fornitori)... come ripeto... devo solamente scrivere un codice, premo ENTER, e di fianco mi appare la descrizione di quel codice. Niente di più.
 

appena_iscritto

Utente Attivo
505
2
CPU
t7600
HDD
200GB
RAM
2GB
GPU
Nvidia
OS
Vista Hp
Ma allora cosa ti serve memorizzare fornitori e commessa? ti crei una sola tabella prodotto con codice come chiave e descrizione. Se invece aggiungi le tabelle fornitori e commessa poi le deve relazionare e devi farlo seguendo le regole del modello relazione(non puoi inserire 50 volte il codice, se questo viola qualche vincolo referenziale o di primary Key)
 

clamp78

Nuovo Utente
6
0
La tabella con tutti i codici e le descrizioni già le ho fatte...
Mi sono creato una tabella dove ho inserito 5000000000 codici
con la relativa descrizione....

Ho bisogno di richiamare su un altra tabella (che ho chiamato
"Commessa") i codici che devo ordinare al fornitore per quel
lavoro, perche su un lavoro non è detto che devo ordinare
tutti e 50000000 i codici, così com'è possibile che per realizzare
un lavoro debba ordinare 200 articoli uguali (quindi con lo stesso codice).
 

appena_iscritto

Utente Attivo
505
2
CPU
t7600
HDD
200GB
RAM
2GB
GPU
Nvidia
OS
Vista Hp
La tabella con tutti i codici e le descrizioni già le ho fatte...
Mi sono creato una tabella dove ho inserito 5000000000 codici
con la relativa descrizione....

Ho bisogno di richiamare su un altra tabella (che ho chiamato
"Commessa") i codici che devo ordinare al fornitore per quel
lavoro, perche su un lavoro non è detto che devo ordinare
tutti e 50000000 i codici, così com'è possibile che per realizzare
un lavoro debba ordinare 200 articoli uguali (quindi con lo stesso codice).
Allora, nella tabella prodotti, va aggiunto un campo(definito come foreign key) che punta alla tabella fornitori.
La tabella commessa non deve inglobare gli articoli relativi, che vanno invece aggiunti in una tabella associativa contenente 3 campi:
idCommessa,idProdotto(che insieme costituiscono la chiave, entrambi con il vincolo di chiave esterna verso commesse e prodotti)e un terzo campo quantità.
Commesa ovviamente memorizzerà,oltre ad un id, la data, il cliente ecc. Il costo totale dovrebbe essere un attributo calcolato.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!