PDA

View Full Version : problemino con access


giulyus
15-07-2005, 12:30
salve a tutti
chi mi spiega in modo semplice come faccio a far si che un campo di una tabella si aggiorni in modo automatico, con l'invio della tastiera o altro, con il valore di una somma o prodotto dato da altri campi?
esempio:
ho numero_prodotti ed ho costo_unitario, come faccio a calcolare nel campo costo_totale il prodotto dei due sopra?

ho provato anche a mettere le mani sul vba per access, ma non sono molto pratico in materia
helpme please

f@bio80
15-07-2005, 12:37
perchè non lo fai direttamente con excel? :)

giulyus
15-07-2005, 14:09
perchè non lo fai direttamente con excel? :)
perchè devo gestire un db!!!

motogpdesmo16
15-07-2005, 15:05
dovresti mandare in esecuzione una query cioè devi prevedere una prima fase di inserimento di nome_prodotto, quantita_prodotto, prezzoUnitario_prodotto
e lasciare libera la colonna costoTotale_prodotto e poi aggiornare la tabella mediante la moltiplicazione.
Ti andrebbe bene questa soluzione oppure vuoi qualcosa di immediato??

giulyus
15-07-2005, 15:19
dovresti mandare in esecuzione una query cioè devi prevedere una prima fase di inserimento di nome_prodotto, quantita_prodotto, prezzoUnitario_prodotto
e lasciare libera la colonna costoTotale_prodotto e poi aggiornare la tabella mediante la moltiplicazione.
Ti andrebbe bene questa soluzione oppure vuoi qualcosa di immediato??
la query l'avevo pensata pure io, ma ho visto negli esempi di access, quando crei un db vuoto, che tra i possibili db c'è un gestione ordini o una cosa simile, e tra le varie maschere del db c'è proprio questa funzione a cui faccio riferimento io, che aggiorna il campo tatale appena metti il numero pezzi e importo singolo pezzo, ma non sono riuscito a rifarla
a me servirebbe una funzione come questa

motogpdesmo16
15-07-2005, 16:14
ora non ho modo di controllare, comunque ho capito grosso modo a quale modello ti riferisci.
Quello che mi viene in mente adesso è:
*crei una maschera con tutti i campi della tua tabella e al totale ci metto =[quantità]*[prezzo] (ovviamente i nomi dei campi devono essere coerenti con la dichiarazione dei nomi in struttura-tabella, ma sempre identificati dalle [])
*crei una query che aggiorni il campo totale della tua tabella sempre tramite moltiplicazione di costo e quantità.
Quindi da un lato hai una interfaccia per l'inserimento dei dati (la maschera) e che ti aggiorna solo la maschera ma non il contenuto del database;dall'altro hai una funzione che ti permette di aggiornare anche il contenuto del database.

Se mi dovesse venire in mente qualcos'altro ti farò sapere!

giulyus
15-07-2005, 16:16
ora non ho modo di controllare, comunque ho capito grosso modo a quale modello ti riferisci.
Quello che mi viene in mente adesso è:
*crei una maschera con tutti i campi della tua tabella e al totale ci metto =[quantità]*[prezzo] (ovviamente i nomi dei campi devono essere coerenti con la dichiarazione dei nomi in struttura-tabella, ma sempre identificati dalle [])
*crei una query che aggiorni il campo totale della tua tabella sempre tramite moltiplicazione di costo e quantità.
Quindi da un lato hai una interfaccia per l'inserimento dei dati (la maschera) e che ti aggiorna solo la maschera ma non il contenuto del database;dall'altro hai una funzione che ti permette di aggiornare anche il contenuto del database.

Se mi dovesse venire in mente qualcos'altro ti farò sapere!
ok, ora provo
se ti viene in mente altro posta pure
grazie

motogpdesmo16
15-07-2005, 16:24
ok, ora provo
se ti viene in mente altro posta pure
grazie
figurati. comunque se magari ci spieghi meglio la situazione, a chi è rivolta questa fase di data-entry, posso pensare a una soluzione più user-friendly.
Cioè se vi servono solamente operazioni di reporting dei dati, penso che, anche se un tantino macchinosa, possa essere buona la soluzione da me proposta.

giulyus
15-07-2005, 16:56
figurati. comunque se magari ci spieghi meglio la situazione, a chi è rivolta questa fase di data-entry, posso pensare a una soluzione più user-friendly.
Cioè se vi servono solamente operazioni di reporting dei dati, penso che, anche se un tantino macchinosa, possa essere buona la soluzione da me proposta.
Vorrei realizzare una gestione ordini molto semplice per il negozio un amico.
quella dimostrativa di access ha troppo in più e se elimino qualche elemento, relazioni annesse, mi restituisce sempre un qualche tipo di errore
da quì il realizzarne uno ex novo, ma sta diventando più arduo del previsto, complice il fatto che non sono bravo a smanettare con access.
ora sono riuscito ad avere un risultato in uscita nel campo totale pezzi, ma è sbagliato: invece di fare 1+3= 4 mi fa 1+3= 13
ti posto il codice che scrivo nella routine evento:

Option Compare Database

Private Sub PEZZI_Enter()
PEZZI = [TG_42] + [TG_44]
End Sub

mah...

motogpdesmo16
15-07-2005, 19:04
IMHO le "gestioni ordini" non sono poi tanto tanto semplici da implementare nel senso che, mentre programmi, ti vengono in mente delle cose da voler aggiungere e quindi si va via via complicando la faccenda (ad esempio se metti una tabella di fornitori e una di clienti...).
Tuttavia se l'attività del tuo amico si limita al solo inserimento dei dati che ci hai fornito, puoi basarti tranquillamente su una maschera e magari ci aggiungi un bottone che effettui l'aggiornamento del database (quindi alla pressione del bottone lanci la query di aggiornamento del db) da fare quando finisce con la fase di immissione dei dati.

giulyus
18-07-2005, 08:07
IMHO le "gestioni ordini" non sono poi tanto tanto semplici da implementare nel senso che, mentre programmi, ti vengono in mente delle cose da voler aggiungere e quindi si va via via complicando la faccenda (ad esempio se metti una tabella di fornitori e una di clienti...).
Tuttavia se l'attività del tuo amico si limita al solo inserimento dei dati che ci hai fornito, puoi basarti tranquillamente su una maschera e magari ci aggiungi un bottone che effettui l'aggiornamento del database (quindi alla pressione del bottone lanci la query di aggiornamento del db) da fare quando finisce con la fase di immissione dei dati.
credo sia la soluzione più semplice da effettuare
però ancora non riesco a spiegarmi il perchè dell'errore di cui sopra...