Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Com Soma!


brunocasado

Pergunta

bemm eu tenho a tabela cadmat e a entradas.

na tabela cadmat eu tenho o campo:

QDADEdisponivel

bem na tabela entradas eu tenho o campo QDADE

bemmm vamus supor que na tabela CADMAT temos o seguinte material cadastrado: ce001

ai la na tabela de entradas no campo COD_MATL eu digite no codigo ce001 e na QDADE 500

bomm o que tem que acontecer é ele somar o 500 com a QDADEDISPONIVEL que tiver la na tabela CADMAT

c não tiver nada no campo adicionar....

mais isso ele tem que adicionar nos respectivos codigos que baterem....

tipo tenho cadastrado na tabela CADMAT o ce001 e vo na tabela de entrada e digito tambem ce001 e a QDADE 500 ele tem que adicionar na QDADEDISPONIVEL no respectivo codigo que eu coloquei ou seja tem que bater os 2....

ou c eu tive o material CE002 cadastro e digita na tabela de entradas o CE002 e na QDADE 5000 ele volta na tabela de CADMAT e soma na QDADE DISPONIVEL

como faiz isso gente

qlquer coisa o bd do meu projeto esta nu tópico autocomplemento sequencial xx000

Editado por brunocasado
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Fera num consegui entender exatamente o que você tá querendo, tá meio confuso, ultimamente toh meio sem tempo tenho alguns projetos pra entregar mais dá uma melhorada ou melhor uma exclarecida na sua explicação que assim que tiver tempo eu ou outra pessoa vai lhe ajudar!

Link para o comentário
Compartilhar em outros sites

  • 0
bemm eu tenho a tabela cadmat e a entradas.

na tabela cadmat eu tenho o campo:

QDADEdisponivel

bem na tabela entradas eu tenho o campo QDADE

bemmm vamus supor que na tabela CADMAT temos o seguinte material cadastrado: ce001

ai la na tabela de entradas no campo COD_MATL eu digite no codigo ce001 e na QDADE 500

bomm o que tem que acontecer é ele somar o 500 com a QDADEDISPONIVEL que tiver la na tabela CADMAT

c não tiver nada no campo adicionar....

mais isso ele tem que adicionar nos respectivos codigos que baterem....

tipo tenho cadastrado na tabela CADMAT o ce001 e vo na tabela de entrada e digito tambem ce001 e a QDADE 500 ele tem que adicionar na QDADEDISPONIVEL no respectivo codigo que eu coloquei ou seja tem que bater os 2....

ou c eu tive o material CE002 cadastro e digita na tabela de entradas o CE002 e na QDADE 5000 ele volta na tabela de CADMAT e soma na QDADE DISPONIVEL

como faiz isso gente

qlquer coisa o bd do meu projeto esta nu tópico autocomplemento sequencial xx000

acho que entendi, apesar da confusão tremenda...rsrs

vamos supor que na tabela de cadmat você tem a seguinte situação:

MATERIAL QTDE

ce001 100

depois você vai no formulário de entrada e digita:

MATERIAL QTDE

ce001 200

o resultado disso, na tabela cadmat, deve ser:

MATERIAL QTDE

ce001 300

CERTO?

bom, se é isso, acho que é bem simples você resolver....

basta você gerar uma sql que pegue o valor encontrado mais o valor que você deseja acrescer...

fiz os testes e deu certo:

Dim vSql As String

vSql = "Update tblMaterial Set Material_Qtde=Material_Qtde + 1000 Where Material_ID='ce001'"

DoCmd.SetWarnings False

DoCmd.RunSQL vSql

DoCmd.SetWarnings True

faça os testes aí e pode ter ctz que vai funcionar....

o que fiz na instrução sql foi acrescentar o valor de 1000 à quantidade que já havia para o material ce001...

retorne os resultados ou qualquer dúvida...

abraços!

Editado por Elber Carretoni
Link para o comentário
Compartilhar em outros sites

  • 0

isso cara ta certo só que é o seguinte ai você estipulo o ce001 c eu digita outro codigo de otro produto que esteje cadastro ele vai faze a mesma coisa?

porque pra explica melhor o que eu quero é o seguinte.......

eu tenho materiais cadastrados... e nessa tabela vai ter a quantidade disponivel certo?

ai eu tenho a tabela de entradas ou seja pedidos.. ai eu tenho que fazer u pedido de um material já cadastrado ... o que vai acontece intao

eu tenho essa tabela de cadastro de mateirial ai vamu supor que tenha 2 tipos já cadastrados

o ce001 e o rs001 e vamu supor que cada 1 tenha 100 pecas

ok ok bemm quando eu for la na tabela de entradas e digitar no campo do codigo do material ce001 ou rs001 e na quantidade 300 que que ele tem que fazer? ele vai na tabela de cadastro e apenas soma a quantidade disponivel

pra ser mais especifico

vamu la eu digito no campo cod_matl = ce001

ai no campo QDADE = 500

tdo isso na tabela de entradas

o que ele vai fazer: vai pega o 500 e joga no campo QDADE DISPONIVEL no codigo ce001 na tabela de cadastro de materiais...

acho que fico mais claro não é?

ou c eu digita o rs001 na tabela de entradas e no campo QDAD 10000 ele vai na tabela de cadastro de mateirias e joga o 1000 na qdade disponivel só que do produto rs001

quando eu falo jogar é somar não é? c não tive nada ele joga la mais c tive por exemplo 100 pecas e ele tem que somar...

deu pra intende agora?

to postano meu db pra você intende ....

DB

Editado por brunocasado
Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Elber --

ueh, não é a mesma coisa?

a única coisa diferente que você falow, pelo que entendi, foi a seguinte:

se o código do material já se encontrar cadastrado, SOMA A QUANTIDADE DIGITADA NA TABELA ENTRADA COM A QUANTIDADE QUE JÁ HAVIA DISPONÍVEL...

caso o código do material não se encontrar cadastrado, aí INSERE UM NOVO REGISTRO NA TABELA ESTOQUE COM O NOVO CÓDIGO DIGITADO...

certo?

Link para o comentário
Compartilhar em outros sites

  • 0

isso manow mais ele n pode adiciona um novo registro

a unica coisa que ele tem que fazer é que c tiver um material cadastro e na tabela de entrada eu digita esse codigo desse material já cadastrado e digitar a quantidade ele volta na tabela de cadastro e coloca o valor ou soma na quantidade disponivel.....

aquele codigo da certo?

Link para o comentário
Compartilhar em outros sites

  • 0

então.. continuo achando que essa linha de pensamento não ta boa.

vou explicar como eu procederia com um sistema assim.

eu teria uma tabela onde eu cadastraria os materiais. essa tabela serve tão somente pra cadastrar a existencia deste material, sua descricao ou qualquer outra info a respeito dele.

então, eu teria uma tabela onde eu lancaria as entradas deste materia. ou seja, quando eu comprar, produzir deste material, eu lanco o tanto que entrou dele e mais a data desta entrada para um futuro controle caso seja necessario.

e teria por fim uma outra tabela onde eu lancaria as saidas deste material.

ou seja..

eu vou la e cadastro o seguinte

CE001

ai vou na tabela de entradas e lanco:

seleciono CE001(ele pesquisara na tab de cadastro), 200 unidades, data de 03/07/07

ai na tabela de saida, eu vendo:

seleciono C3001(ele pesquisara na tab de cadastro), 100 unidades, data de 04/07/07

então, para saber o saldo ou quantidade disponivel, eu crio uma consulta que vai somar o tanto que entrou menos o tanto que saiu.

acho que essa é a maneira correta de se fazer este sistema.

Link para o comentário
Compartilhar em outros sites

  • 0

isso bruno...o codigo para somar a quantidade está certo...

só precisamos fazer agora o código para inserir o registr, caso o mesmo não se encontrar cadastrado..

to meio apertado no tempo aqui agora, mas amanhã "pósto" a solução pra você..

o que você pode fazer é uma dlookup que efetua uma pesquisa na sua tabela para verificar se o codigo digitado já existe...se essa dlookup não retornar nada, quer dizer que não se encontra cadastrado...então você tem que inserir a entrada do registro...

caso a dlookup trouxer algo, então você manda atualizar (faz a linha de codigo que havia te passado em SQL)...

deu pra entender a lógica? essa seria uma das soluções...

Link para o comentário
Compartilhar em outros sites

  • 0

e cara mais aqui é uma empresa de desenvolvimento eletronico agente n fornece intao n prescisa ter um controle de saida.... eu só vo ter que fazer um sisteminha que quando usa os materiais agente só digita e ele subtraia....

mais essa tabela de entrada é porque agente vai compra certo tipo de material intao quando eu digita um determinado codigo do material cadastrado ele vai adicionar na qdade disponivel desse determinado material ai sim eu gero uma consulta pois esse campo vai ser invisivel... tendeu

Link para o comentário
Compartilhar em outros sites

  • 0
então.. continuo achando que essa linha de pensamento não ta boa.

vou explicar como eu procederia com um sistema assim.

eu teria uma tabela onde eu cadastraria os materiais. essa tabela serve tão somente pra cadastrar a existencia deste material, sua descricao ou qualquer outra info a respeito dele.

então, eu teria uma tabela onde eu lancaria as entradas deste materia. ou seja, quando eu comprar, produzir deste material, eu lanco o tanto que entrou dele e mais a data desta entrada para um futuro controle caso seja necessario.

e teria por fim uma outra tabela onde eu lancaria as saidas deste material.

ou seja..

eu vou la e cadastro o seguinte

CE001

ai vou na tabela de entradas e lanco:

seleciono CE001(ele pesquisara na tab de cadastro), 200 unidades, data de 03/07/07

ai na tabela de saida, eu vendo:

seleciono C3001(ele pesquisara na tab de cadastro), 100 unidades, data de 04/07/07

então, para saber o saldo ou quantidade disponivel, eu crio uma consulta que vai somar o tanto que entrou menos o tanto que saiu.

acho que essa é a maneira correta de se fazer este sistema.

bruno, concordo com o "hummm" que a análise do seu sistema está bem estranha...

de qualquer forma não posso opinar muito, já que não estou muito a par...

entretanto, acha mesmo que o sistema funcionaria da melhor maneira com a análise que você está utilizando atualmente?

Link para o comentário
Compartilhar em outros sites

  • 0
e cara mais aqui é uma empresa de desenvolvimento eletronico agente n fornece intao n prescisa ter um controle de saida.... eu só vo ter que fazer um sisteminha que quando usa os materiais agente só digita e ele subtraia....

mais essa tabela de entrada é porque agente vai compra certo tipo de material intao quando eu digita um determinado codigo do material cadastrado ele vai adicionar na qdade disponivel desse determinado material ai sim eu gero uma consulta pois esse campo vai ser invisivel... tendeu

entendi.. você quer um sistema que controle o estoque de material que vocês consomem. até pra pedir reposicao quando estiver acabando.

então entenda o seguinte, vamos fazer uma rapida analize do que voce precisa.

1) você tem que ter uma tabela de cadastro do material, onde voce cadastra o material que sua empresa consome.

2) voce precisa de uma tabela de entrada deste material que vai armazenar a quantidade que entrou de cada material e a data desta operacao. no futuro voce pode esclarecer qualquer duvida ou fazer rapidas consultas com a data.

3) voce precisa de uma tabela de consumo. esta vai armazenar o material que foi consumido do estoque.

logo, a posicao do estoque atual vai ser uma consulta que vai realizar [total_entrado]-[total_saido]

sacou?

já, isso que voce ta querendo fazer de ter uma tabela com um campo nela que exiba a posicao do estoque vai ser senao impossivel, ou muito trabalhoso de fazer. alias, armazenar total de contas nunca foi uma boa ideia, salvo quando você tem que ter o historico das operacoes.

Link para o comentário
Compartilhar em outros sites

  • 0

bom bruno...como tinha te prometido, estou passando a solução, acredito que completa, da sua dúvida...

fiz a programação para atualizar/cadastrar os materiais na sua tabela...

me basiei em um formulário com dois campos ('txtMaterial', 'txtQuantidade')...o primeiro para infomar o ID do material...o segundo pra informar a QUANTIDADE que o usuário deseja acrescer/cadastrar...

um botão é responsável por executar a ação principal do formulário (acrescentar/cadastrar material) na tabela 'tblMaterial', que tem dois campos ('Material_ID', 'Material_QTDE')...

tenho o exemplo aqui e se você quiser te envio por e-mail hj depois das 23h ou amanhã de manhã (não consigo anexar pelo fórum)...entretanto, estou lhe enviando o código...dê uma olhada, veja se entende, e faça os testes...

não dispenso a necessidade de uma boa revisão na estrutura de seu sistema, como o "hummm" opinou...

de qualquer maneira, respeito sua solução...veja o que é melhor ao seu objetivo e adapte as melhorias...

abraços.


Private Sub cmdRegistrar_Click()
On Error Resume Next

Dim vSql As String 'declara vSql como texto

'VERIFICAÇÃO/VALIDAÇÃO DE DADOS:
'verificar se há texto digitado no campo txtMaterial e no campo txtQuantidade. Caso não, sai do procedimento
If IsNull(Me.txtQuantidade) Or IsNull(Me.txtMaterial) Then
MsgBox "Por favor, preencha corretamente os campos de Material e Quantidade", vbCritical, "Validação de Dados"
Exit Sub
End If

'>>> INÍCIO DO PROCEDIMENTO CORRETO: ATUALIZAR/CADASTRAR MATERIAL >>>

'retira avisos do access
DoCmd.SetWarnings False

'efetua pesquisa na tabela para verificar se o material digitado já se encontra cadastrado
If DCount("[Material_ID]", "tblMaterial", "[Material_ID] LIKE '" & Me.txtMaterial & "'") = 0 Then
'se é nulo, quer dizer que o material não está cadastrado...
'CADASTRAR MATERIAL:
vSql = "INSERT INTO tblMaterial (Material_ID, Material_Qtde) Values ('" & Me.txtMaterial & "','" & Me.txtQuantidade & "')"
DoCmd.RunSQL vSql

Else
'se não é nulo, quer dizer que o material já está cadastrado...
'ATUALIZAR QUANTIDADE:
vSql = "UPDATE tblMaterial SET Material_Qtde=Material_Qtde + " & Me.txtQuantidade & " Where Material_ID='" & Me.txtMaterial & "'"
DoCmd.RunSQL vSql
End If

'retorna avisos do access
DoCmd.SetWarnings True

'mensagem de sucesso de cadastramento para usuário
MsgBox "SUCESSO!" & vbCrLf & "O material " & Me.txtMaterial & " foi registrado com sucesso!", vbInformation + vbOKOnly, "Entrada de Material"

'limpa os campos codigo material e quantidade de material
Me.txtMaterial = Null
Me.txtQuantidade = Null
'manda o foco para o campo txtMaterial
Me.txtMaterial.SetFocus

End Sub

[/codebox]

Link para o comentário
Compartilhar em outros sites

  • 0

elber acho que isso agora fico meio confuso... quando eu falo em tabela de entrada não é qe u vo cadastrar o material é só pra mim informa quanto que entro de um tipo determinado(que já ta cadastrado na tabela de cadmat)

intao o que tem que acontecer na tabela de entradas eu digito la o material que já ta cadastrado na otra tabela ai ele checa pra ve c tem cadastrado ai blza... ai quando eu digita a quantidade ele vai volta na tabela de cadastro dos materiais e atualiza a qdade disponivel só isso cara..... ele vai atualiza ou vai somar com o numero já existente...

c voce pegace minha db você ia intender....

mais mesmo assim me manda no email isso que você fez... sim vlw cara

Editado por brunocasado
Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Elber --
elber acho que isso agora fico meio confuso... quando eu falo em tabela de entrada não é qe u vo cadastrar o material é só pra mim informa quanto que entro de um tipo determinado(que já ta cadastrado na tabela de cadmat)

intao o que tem que acontecer na tabela de entradas eu digito la o material que já ta cadastrado na otra tabela ai ele checa pra ve c tem cadastrado ai blza... ai quando eu digita a quantidade ele vai volta na tabela de cadastro dos materiais e atualiza a qdade disponivel só isso cara..... ele vai atualiza ou vai somar com o numero já existente...

c voce pegace minha db você ia intender....

mais mesmo assim me manda no email isso que você fez... sim vlw cara

Eu entendi perfeitamente bruno, e sabia que você teria de fazer isso...

Entretanto, o código que passei te serve com ctz...

Lógico, o código é uma simulação da situação-problema...mas basta você adaptá-lo para seus campos, suas tabelas e, enfim, que vai funcionar...

amanhã de noitão (a partir das 11) tentarei te enviar o arquivo então...ou sexta-feira pela manhã...

dá uma olhada no código que te passei, e se for preciso, implemente-o em teste...crie a tabela da forma que criei, o formulário também, coloque o códio e veja como funciona...

Abração fera! ;D

ps.: RESPONDI SEU E-MAIL, O QUAL ME ENVIOU NO ENDEREÇO DA GMAIL....

Link para o comentário
Compartilhar em outros sites

  • 0

Bom me parece que a solução passada pelo Elber está correta, o que falta é implementa-la para seu bd, eu faria isso mais tenho que entregar uma aplicação de calculo com urgência e não toh podendo parar, só estou entrando pra ver os tópicos estão OK. Mais assim que terminar aqui eu tenta ver o seu!

Link para o comentário
Compartilhar em outros sites

  • 0
fmza manow

mais 1 vez muito grato a todos você que tão me dando 1 foça vlw gente

e aí bruno, conseguiu cara?

fiquei de te mandar o bd hj de manhã, mas ontem foi maior correria e acabei esquecendo de pegá-lo no meu serviço para te enviar de casa...

conseguiu implementar a programação?

Link para o comentário
Compartilhar em outros sites

  • 0

cara eu ateh tenti mais dava uns pau moh estranho tipo quando eu inseria o codigo de checagem do codigo do material

nos campos ele colocava #excluido ai n dava pra faze nada... tentei moh cara mais num consegui manow....

Link para o comentário
Compartilhar em outros sites

  • 0
o elber vai te como você da uma olhada pra mim??

opa...

vou dar uma força sim cara, em tudo que eu puder e souber...o mais breve possível vamos terminar esse bd...

abração fera...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...