Newsgroup: it.comp.lang.visual-basic
Titolo: [!OT} [?]Base di Dati di un Programma gestionale

Sto' costruendo un programma gestionale (magazzino/bolle/Fatture) per la
piccola attivita' di mio padre per il quale non vedro' un soldo.
Vi espongo il mio problema, prendiamo queste tabelle
A) Una tabella contente i codici dei prodotti e la loro descirzione
B) Un tabella contente l'intesatzione della bolla/fattura
C) un'altra tabella dove ci sono i prodotti presenti nella bolla
Il mio problema e' la tabella C: per non aver un database troppo corposo
eviterei di inserire la descrizione dei prodotti presenti in bolla/fattura
in quanto li posso recupare un semplice Join con la tabella dei prodotti.
Questo pero' non mi permette di inserire delle righe che non siano i nomi
dei prodotti quali "riferimento bolla n°",  "contributo conai assolto" e
cosi' via.....
L'unica alternativa e' quella di inseire un campo "descrizione" nella
tabella C in modo che la tabella sia si' molto piu' "ingombrante" ma dentro
posso fare quello che voglio : se voglio inserire un prodotto lo posso fare
ricopiando sopra la descrizione che c'e nella tabella A, se voglio scrivere
quello che mi pare posso farlo tranquillamente (cosa che non potevao fare
nella soluzione precedente).
Come funzionano i programmi che ci sono in giro?Hanno un trucco per gestire
le righe che non contengono prodotti codificati in tabella A (io ne ho uno
in mente ma e' TROPPO stressante e pesante sia a livello di progettazione
che a  livello di calcoli e di 'trasparenza') oppure anche loro utilizzano
il metodo di tenere nella tabella C tutte le righe con le descrizioni dei
prodotti (ricopiandole ogni volta sprecando un casino di spazio).
Forse il mio post puo' sembrare un tantino di difficile comprensione ma sono
sicuro che chi e' incappato in questo genere di problemi abbia capito e
spero che mi risponda : mi sono letteralemnte "impiantato"su questo problema
e antro 10 gg devo portare le stampe di bolle e fatture in tipografia per
fare i moduli.....
AIUTOOOOOOOOOO
Grazie per le eventuali risposte.........

 wrote in message
8245ka$nd8$1...@nslave2.tin.it...


Se ci aggiungi anche un flag che indica se si tratta di un prodotto
reale o di queste aggiunte puoi farle apparire nelle schermate solo
quando servono ed evitare che l'utonto non le cancelli per errore quando
fa modifiche alla tabella dei prodotti

 wrote

non e' ot, e' analisi preliminare.
nb che considero tempo a disposizione e circostanze.
regole auree nella progettazione db:
1. la preoccupazione dello spazio risale a quando si perforava o c'erano
dischi da 10 mb. ora 10-20 gb costano 3-500k - quanto costano 10 gg tuoi ? -
quanto quelli che l'utente perde su un prog macchinoso (essendo magari
tentato di abbreviare i tuoi, specie se dispone di autorita' parentale :)
? --> replica tutti i campi che vuoi nella tab report. tieni pero' presente
che aggiornamenti nella descrizione rischi di doverli poi _controllare_ in
tutti i rec della report. in compenso, vantaggio: se cambiano le descrizioni
aggiungi una riga nella tab prod ma puoi lasciare nella report quelle
vecchie (se controlli le vendite fiat 1938 magari non vuoi che "topolino"
venga sostituito da "500" solo perche' e' cambiata la tab prodotti).
2. i gb sono replicabili, i tuoi gg no.
3. quanto ti pagano ? ( lo so, l'hai detto :).
--> semplifica la struttura piu' che puoi. se l'attivita' è piccola,
immagino un solo pc. molla subito sql e usa dao indicizzato, mal che vada
poi lo puoi portare su una piccola lan (o cmq poi avrai piu' tempo per
rifarlo in sql). in 10 gg ci stai largo e hai molta piu' flessibilita'.
struttura un rs da usare solo nei report (tab c, +-, direi) e per riempirlo
usa seek. in questo modo puoi scegliere che campi prendere dalle tab a,b. su
questo portatile un seek + loop while rs2!desc = rs1!desc ci mette 0.1-0.2
decimi per 100-150 righe di rs2, ormai lo faccio in automatico a ogni
movenext del rs principale per mostrare le schede del rs collegato. anche su
un p90 non sussulta tanto.
3 tabelle sono poche, coraggio.
a- codprod descprod
b- codcli desccli
c- [codcli] desccli [codprod] descprod - i desc li ricavi dai seek - mettici
tutte le righe che vuoi. controlla sempre i legami. poi ci puoi mettere
anche campi [data bolla ecc.] che non userai quasi mai o che dovrai
replicare inutilmente (ma cmq in automatico) e che magari dovebbero stare in
un altra tab di lookup (a-prod, b-clienti, c-bolle/elenco (1 per linea),
d-bolle/report: dettaglio, tutte le righe riportano # bolla, desc e/o #
cliente, desc e/o # prodotto). access compatta molto, io uso 255 car anche
per i campi che ne avranno max 10 -> diminuiscono molto i rischi di errore e
al primo pack lo spazio e' lo stesso.
scusa se non si capisce molto, sono di corsa. magari -- solo su problemi
precisi, per favore -- scrivi. sul sito free c'e' pctrix con esempio dao, ma
se hai poco tempo forse e' meglio che parti da zero, ci si mette meno che a
entrare nella testa di un altro.
hth, pal
--
andrea palazzi
pal at cedoc dot mo dot it [attach here]
xday at libero dot it [no attach]
free sw - 
http://www.comune.modena.it/cittadini/apal/html/
p.f. nei messaggi usare solo testo normale, non html !
please use just plain text, not html, in your msgs !

Secondo me esiste sempre la necessità di disporre del campo descrizione su
qualsiasi dettaglio di un documento. La tabella prodotti viene utilizzata
come
semplice supporto da dove prendere descrizioni, unità misura, prezzi ,
scontistica
e provviggioni. L' utente avrà spesso la necessità di modificare la
descrizione
per aggiungere qualche commento o cambiare la descrizione per esempio per
tradurla in un'altra lingua. Esiste poi la necessità di inserire righe non
codificate
nella tabella prodotti, come interessi per mora, articoli estemporanei, resi
di merce
o di imballi che vanno considerati nella emissione della fattura.
Spero che quanto descritto ti sia di aiuto


DEVI mettere la descrizione nelle righe delle fatture ecc.
La crescita di dimensione e trascurabile per gli HD di adesso.
Se non fai così succedono delle cose brutte:
1) Stampi una fattura.
2) Modifichi la descrizione di un codice.
3) Ristampi la fattura e viene stampata diversa...
Ovviamente questo comportamento è inaccettabile.
Guarda che per produrre qualcosa di buono ci vorrà MOLTO tempo e forse
il gioco non vale la candela, se devi realizzare una unica copia ed
anche gratis.
Potresti anche considerare l'acquisto di un programma commerciale:
guarda caso il nostro costa poco, funziona bene ed è semplice da
usare. Se ti interessa mandami una e-mail.
Ciao
--------------------------------------------------------------------
Fulvio Senore
Eliminate "zz" dall'indirizzo e-mail per scrivermi (spammers...)
Remove "zz" from e-mail address to write me (spammers...)
--------------------------------------------------------------------

 wrote
