Jump to content
FbnRD

Gestão de Stocks, Visual Basic 2010

Recommended Posts

FbnRD

Boa tarde a todos,

Hoje vou iniciar a criação das tabelas para o meu programa (PAP) de gestão de stocks de uma loja de fardamentos para Bombeiros.

Já tenho a estrutura que acho correcta, mas gostava ainda que me dessem uma opinião, se falta algo ou existe algo que sobre, que não seja necessário.

Tabela de fornecedores

IdFornecedor;  Nome; Morada; Cod.Postal; Localidade; Telefone; Email; Observação

Tabela de clientes

IdFornecedor;  Nome; Morada; Cod.Postal; Localidade; Telefone; Email; Observação

Tabela de produtos

CodProduto; Nome; Stock, Descrição, Fotografia, Preço Unitario

Tabela de entradas

CodEntrada; CodProduto; Quantidade; DataEntrada;

Tabela de saídas

CodSaída; CodProduto; Quantidade; DataSaída

Comprimentos, e para já obrigado pela colaboração. ;)

Share this post


Link to post
Share on other sites
bioshock

Assim à primeira vista, deves criar uma tabela à parte para Código Postal e Localidade, pois é uma relação N para muitos.

Share this post


Link to post
Share on other sites
RobinHood

Boas o meu projecto Pap também é a gestão de stocks de materiais de construção...

Tabela de fornecedores

IdFornecedor;  Nome; Morada; Cod.Postal; Localidade; Telefone; Email; Observação

Também de devia ter o nif, o nome do vendedor da empresa, o seu contacto e o seu mail...

Tabela de clientes

IdFornecedor;  Nome; Morada; Cod.Postal; Localidade; Telefone; Email; Observação

Acho que devia ser:

Tabela de clientes

IdCliente;  Nome; Morada; Cod.Postal; Localidade; Telefone; Email; Observação

Tabela de produtos

CodProduto; Nome; Stock, Descrição, Fotografia, Preço Unitario

Acho que  devia ter também o código/nome do fornecedor da peça.....

Depois durante a construção sempre te vais apercebendo que te falta um campo ou outro....

Não te esqueças de fazer formulários de impressão depois no final... sempre dá mais uns pontitos.... ;)

Comigo acontece.... apesar do meu projecto ser mais complicado do que o teu..... :cheesygrin:

Porque estou a incluir famílias e sub famílias de Artigos e a parte de impressões de guias de transporte de material...  :cheesygrin:

Share this post


Link to post
Share on other sites
FbnRD

Ficaria então assim?

Tabela de fornecedores

IdFornecedor; NIF; Vendedor; EmailVendedor; Nome; Morada; Cod.Postal; Localidade; Telefone; Email; Observação

Tabela de clientes

IdCliente;  Nome; Morada; Cod.Postal; Localidade; Telefone; Email; Observação

Tabela de produtos

CodProduto; Nome; Stock, Descrição, Fotografia, Preço Unitario

Tabela de entradas

CodEntrada; CodProduto; Quantidade; DataEntrada; CodFornecedor

Tabela de saídas

CodSaída; CodProduto; Quantidade; DataSaída; CodCliente

Share this post


Link to post
Share on other sites
RobinHood

ya ;)...  Sempre fica mais completo....

Eu disse aqueles campos porque cada empresa que fornece o material tem um ou vários vendedores que correm o pais

Mas Tabela de clientes

Acho que também deverias ter o nif para pesquisas de clientes mais tarde e não só.... :cheesygrin:

Tu agora é que decides.... :)

Share this post


Link to post
Share on other sites
FbnRD

Para mim todas as ideias são óptimas, ajudam a ver coisas que sozinho não veria :b  ;):)

Share this post


Link to post
Share on other sites
bioshock

Desculpa a burrice, mas não consegui perceber...  :wallbash:

Não deste as bases das relações na escola?

Se um determinado campo vai ser semelhante em determinadas tabelas e se o mesmo é um campo de cariz global (ex: Códigos postais) então esse mesmo campo deve ser tornado numa tabela (ex: Localização) onde constará o devido campo mais os seus aglomerados (se necessário).

Aqui entra a relação N para muitos.

Exemplo:

Eu tenho uma casa de Vinhos. Para ter uma casa de Vinhos preciso de Fornecedores e preciso quem me compre os Vinhos (os Clientes). Esta minha casa apenas recebe encomendas. Para já, tenho duas tabelas (Fornecedores e Clientes), preciso do contacto dos mesmos seja por normas de segurança ou por obrigação, ex: NIF, Email, Telefone, Localização.

Existe a possibilidade de o meu Fornecedor ser da mesma Localização do meu Cliente, então faz todo o sentido que, quando eu estiver a preencher os dados, numa espécie de combobox, visualize todas as Localizações já existentes na minha base de dados. Assim como será possível ter vários Fornecedores da mesma zona e idem aspas para os Clientes.

A localização torna-se um elemento de N para muitos.

Imagina agora o campo NIF. O NIF é único por empresa/pessoa. Logo, é uma relação de N para 1. Não faz sentido teres uma tabela só relativa a esse campo, pois não poderás usar dados de uma empresa/pessoa para preencher dados de outras empresas/pessoas.

Exemplo de uma tabela de localização ( ID; Distrito; Concelho; Localidade; Morada; Código-Postal)

Share this post


Link to post
Share on other sites
FbnRD

Continuando...

Conseguem-me explicar o que esta errado nesta expressão?

soma = Val(QuantidadeTextBox.Text) + Val(FardamentosDataSet.Produtos.StockColumn)

O erro é o seguinte:

Argument 'Expression' cannot be converted to type 'DataColumn'.

Não consigo perceber :s

Share this post


Link to post
Share on other sites
RobinHood

Continuando...

Conseguem-me explicar o que esta errado nesta expressão?

"soma = Val(QuantidadeTextBox.Text) + Val(FardamentosDataSet.Produtos.StockColumn)"

O erro é o seguinte:

"Argument 'Expression' cannot be converted to type 'DataColumn'."

Não consigo perceber :s

Aquela parte "FardamentosDataSet.Produtos.StockColumn"

é uma coluna do data grid????

Share this post


Link to post
Share on other sites
FbnRD

Vê a minha ideia, eu queria colocar o valor na textbox, e depois somar esse mesmo valor ao campo da base de dados...

Share this post


Link to post
Share on other sites
paulonunes

A meu ver para que fique um sistema mais completo falta-te a gestão dos Tamanhos de cada Produto, cada fardamento têm o seu tamanho e para cada tamanho terás o respetivo stock.

com esta tabela :

Tabela de produtos

CodProduto; Nome; Stock, Descrição, Fotografia, Preço Unitário

Não vais conseguir fazer a gestão correta. Ou então terás uma Base de Dados com registos praticamente iguais onde só mudas a Descrição (Tipo : Casaco XL; Casaco L)

O mais correto seria teres uma tabela de stock do género:

Tabela Stock

IDArtigo; TAM1; TAM2; TAM3;...;DataUltimaEntrada; DataUltimaSaida;

Poderás completar a tabela com preço por tamanho (há alguns produtos que variam de preço consoante o tamanho).

Claro que isto implica algo mais, como por exemplo quando fazes uma Entrada de Produto terás que "dizer" para que tamanho estás a dar entrada.


"Aprende-se por tentativa e erro"

Share this post


Link to post
Share on other sites
FbnRD

Tinha pensado nisso, acrescentar "TAMANHO" na tabela produtos e depois quando se desse a entrada ou saida do produto, colocar uma combobox com uma lista onde constasse os valores "S, M, L..."

Em relação a minha duvida, alguém me ajuda?

Share this post


Link to post
Share on other sites
FbnRD

Fiquei mesmo encalhado nesta expressão...

soma = Val(QuantidadeTextBox.Text) + Val(FardamentosDataSet.Produtos.StockColumn)

Quero somar o valor que colocar numa textbox para o campo stock da tabela produtos da base de dados fardamentos... Está mal da maneira em que estou a fazer?

:wallbash:

Share this post


Link to post
Share on other sites
RobinHood

Tipo... experimenta criar assim....

Dim Valor1 as Integer = QuantidadeTextBox.Text

Dim Valor2 as Integer = FardamentosDataSet.Produtos.StockColumn

Dim total as Integer

total = Valor1 + Valor2  

Depois passas o total para a BD.... Eu fiz assim e funcionou  ;)

Experimenta e depois diz.....

Share this post


Link to post
Share on other sites
FbnRD

Coloquei como disses-te:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Validate()
        Me.EntradasBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.FardamentosDataSet)
        Dim Valor1 As Integer = QuantidadeTextBox.Text

        Dim Valor2 As Integer = FardamentosDataSet.Produtos.StockColumn

        Dim total As Integer

        total = Valor1 + Valor2
    End Sub

E da-me este erro:

Un valor de tipo 'System.Data.DataColumn' no se puede convertir en 'Integer'.

Share this post


Link to post
Share on other sites
thoga31

O texto de uma TextBox é uma String. Tens de converter para o tipo de dados que pretendes: Integer.

Dim Valor 1 As Integer = Convert.ToInt32(QuantidadeTextBox.Text)

E estás a tentar converter uma coluna num integer. Uma coluna nem uma string é.

Conselho: optimiza fazendo isto:

Dim total As Integer = Valor1 + Valor2

P.S., tens o VB em espanhol? :)


Knowledge is free!

Share this post


Link to post
Share on other sites
FbnRD

LOL yaaaah xD que cena estupida, nem sei como ficou assim, tentei mudar para ingles mas não sei como, e não queria estar a desinstalar, queria entregar este trabalho segunda feira mas vou muito mal :s

Fica assim?

Private Sub EntradasBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EntradasBindingNavigatorSaveItem.Click
        Me.Validate()
        Me.EntradasBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.FardamentosDataSet)
        Dim Valor1 As Integer = Convert.ToInt32(QuantidadeTextBox.Text)
        Dim Valor2 As Integer = Convert.ToInt32(FardamentosDataSet.Produtos.StockColumn)
        Dim total As Integer = Valor1 + Valor2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.