alterar item da entrada do estoque

12/07/2010

ola.


como de inicio eu usei apenas uma tabela para o estoque, ou seja cadastro, entrada e saida de produtos.

terminei o cadastro de produtos e estou na parte de alteraçao de produtos ou seja na entrada de item.

usei uma query para procurar o produto e depois altera lo.

a procura com a query funcionou so nao estou sabendo como vou selecionar esse produto e altera lo.

obrigado.
Adriano Serafim

Adriano Serafim

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

Para alterar registros você deve usar o comando edit.

Query.Edit;
e logo depois gravar esta alteração.

Query.Post;

Para Incluir
Query.Insert ou Query.Append;


Seria esta sua dúvida ?

Att,

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

ola amigo,

vou explicar melhor, tenho a minha tabela de estoque, uso um tibtable e um datasource, cadastro os produtos por ele.
ja no form de "entrada de item" eu utilizei um metodo de procura via sql query ou seja nesse form eu tenho o meu dbgrid que aponta na query, que procura dados que estao na tabela estoque, dai por diante eu acho o produto que quero alterar e faço a alteraçao, porem localizar e facil o dificil e alterar lo.

obrigado.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

   Uma vez posicionado no registro, você habilita a tabela para edição, através do comando Tabela.Edit, faz a sua alteração e logo em seguida manda gravar, com Tabela.Post, este é o comando pra editar e depois gravar.

Me mande seu código fonte, para poder analisar, qual banco de dados você usa ? Interbase/Firebird ? Qual Delphi ?

Att,

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

ola,

eu uso o firebird e posso lhe passar o codigo sim so me passa o email para eu anexar o codigo.

obrigado.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

  Você deve mandar os arquivos através do disco virtual da devmedia, e me mandar o link pra poder baixar, ou então através de outro disco virtual tipo o www.4shared.com.

Att,

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

oh amigo eu nao achei o disco virtual da devmedia, eu nao posso lhe passar atraves de um email por que o arquivo e pequeno.
e que eu estou precisando muito disso.
obrigado.
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

oh amigo achei,

segue o link http://video.devmedia.com.br/discovirtual/221783/programa estoque/ADRSOFTWARE.rar
fico aguardando.

obrigado.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,


  Você só não me disse qual era a tela que você queria a rotina. Você esta usando componentes de terceiros, e isso não funciona aqui para a consultoria, pois não damos suporte ao terceiros.

  Então sugiro você fazer um exemplo com o datadodule, e o form que você realmente quer que eu veja, assim fica mais fácil. ok ?

Att,

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

ola.

bom a tela e "entrada de item" nessa tela tem um botao localizar que esta funcionando perfeitamente.
quando eu realizo essa procura aparece o produto no meu dbgrid dai eu quero clicar nele e fazer a alteraçao nos dados como por exemplo no campo "quantidade adiquirida" + "quant.estoque".

veja o pode fazer por mim se nao tiver jeito tentaremos outra forma.

muito obrigado pela atençao amigo.

Adriano.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Agora sim amigo, vou fazer um exemplo com o teu banco ok ? Te mando um exemplo show de bola blz ?

Um abraço

Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,                   O erro que esta acontecendo, é de read-only, correto? Este erro acontece devido aos dados não poderem ser alterados usando uma query, você precisa utilizar um componente que permita o cachê de dados, no caso o ClientDataSet. E sem dúvidas é muito mais recomendado utilizar ClientDataSet pois você tem como trabalhar desconectado do banco de dados, sem uma conexão aberta, os dados ficam na memória, você sabe utilizar ClientDataSet e DataSetProvider? Caso não tenha domínio me avise para podermos ver uns artigos ou até mesmo liberar uma vídeo aula para poder lhe exemplificar. Ok ?   Aguardo contato meu caro   Att,   Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

ola,

realmente eu nunca trabalhei com ele se voce puder me liberar a video aula e estudo por ela.

me diz uma coisa eu estou so tentando alterar aquele dado pela a query pelo o fato que e ela que faz a procura e e ela que mosta no dbgrid, agora se vc conseguir me mostrar uma outra forma de procura poderia utiliza la tambem.


obrigado.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo, irei fazer um artigo explicando como trabalhar com ClientDataSet, peço que aguarde um pouco.

Um abraço

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

ola,

sem problemas amigo, porem tenho uma pergunta : sera so no form de entrada de item que eu irei trabalhar com o clientdataset, eu nao precisarei modificar os outros?

obrigado
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

Ficará tudo concentrado no DataModule, os componentes de acesso a dados, por convensão e padrão de desenvolvimento, ficam diretamente em um DataModulo, sacou ?

  Estou pra finalizar e te mandar o exemplo.

Att,

Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

Ficará tudo concentrado no DataModule, os componentes de acesso a dados, por convenção e padrão de desenvolvimento, ficam diretamente em um DataModule, sacou ?

  Estou pra finalizar e te mandar o exemplo.

Att,

Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

   Desculpe a demora mas como era um material de Vídeo aula demorei um pouco para poder fazer, ok ?

   Segue link : http://www.4shared.com/file/Z1ebg6LC/Chamado_-_CDS.html


Um abraço

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

ola,

meu amigo gostei muito do seu exemplo, e um exemplo todo mastigado(bem explicado e facil de entender), porem tenho um problema.

vou colocar a minha duvida:

1° qual seria a diferença do clientdataset do tibtable? Sei que voce ja falou sobre ele, e eu vou lhe explicar o por que dessa pergunta. Eu uso o tibtable no momento e a unico problema que eu enfrento e criar uma forma de localizaçao do registro, so isso.


2° como fazer uma forma de procura com esse tibtable?

3° eu tenho uma forma porem em discussoes com colegas me disseram que seria disgastante fazer por que numa rede deixa o sistema lento.
nesse programa que te passei tem um exemplo no form "contas a pagar" na parte de consulta onde tem o seguinte codigo :
DMORDEMDESERVICO.QUEAPNOME.Locate('NOME_RAZ',EDTLOCCRED.Text,[loPartialKey,loCaseInsensitive]);

ou seja voce digita o nome do fornecedor ele filtra, funciona porem gostaria de saber se em uma rede com 10 maquinas esse sistema ficara lento por causa dessa rotina?

meu amigo eu agradeço pela atençao.

obrigado.



Adriano

GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

O Exemplo com IBTable, funciona também. Porém os dados no ClientDataSet, as suas alterações se concentram no mesmo, onde os dados estão em memória, já com o IBTable, qualquer requisição irá ser feita diretamente no banco de dados(transmitindo dados pela rede), tornando seu sistema mais lento do que  com o ClientDataSet, já que os Filtros e consultas estão diretamente em memória.

Quanto a ficar lento numa rede de 10 computadores, não posso lhe mensurar com o IBTable, mas ficará mais lento do que usando o filtro no clientdataset, isso lhe garanto.

Blz?

Um abraço

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

ola
entao eu tenho que trocar todos os IBTable que estao no datamodule  pelo o clientdaset ?

nessa troca do ibtable pelo o clientdataset eu posso usar os mesmos nomes para que nao precise mudar os codigo ja digitados ok?
ai depois voce ira me explicar como fazer para criar um filtro?

obrigado

GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

Você não precisa mudar um pelo outro,o CLientDataSet, como você viu na Vídeo o mesmo precisa de um componente que fale com o Banco de Dados, no caso o SQLDataSet/SQLQuery, sacou ? Usando entre eles o DataSetProvider, seu código deverá ser modificado devido a inclusão do ClientDataSet.

Quanto ao Filtro, seria necessário você abrir um outro chamado, com esta dúvida, blz ?

Att,

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

ola amigo,

entendido.

so uma ultima pergunta.

eu poderia usar o clientdataset so nessa tabela de estoque e continuar usando o clientdataset nas outras tabelas ja elas nao necessitam de modificaçoes pois ja estao funcionando adequadamente e no na entrada de item que tive problema?

ou seja eu posso utilizar o tibtable nas tabelas : cliente, forncecedores, funcionarios, contas a pagar e receber, e usar o clientdataset so na tabela de estoque?
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,

Sem duvidas você pode fazer não irá afetar em nada. Porém na hora de fazer manutenção depois você terá que lembrar de que na tela x tem CDS, e na tela Y não. Fora isso tudo certo.


Podemos fechar o chamado ?

Att,

Wesley Y
GOSTEI 0
Adriano Serafim

Adriano Serafim

12/07/2010

Ola amigo,

Vou fazer isso entao, irei deixar como esta no datamodule e mudarei somente o a tabela de estoque.

tabela cliente, funcionario, fornecedores, contas a pagar e receber : componente tibtable

tabela estoque : componente clientdataset

ok, certo?

apos voce respondendo esse chamado estarei fechando o tambem.

muito obrigado.

Adriano.


GOSTEI 0
Wesley Yamazack

Wesley Yamazack

12/07/2010

Olá amigo,


Estou fechando o chamado.

Dica : Para os próximos projetos você começa a fazer já usando o ClientDataSet, blz ? Mantendo assim padrão para toda a sua aplicação.

Um abraço.. Até o Próximo chamado.

Wesley Y
GOSTEI 0
POSTAR