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

Problemas Com Registros


Gabriel Cabral

Pergunta

Pessoal

duvida grande...

assim.....

eu tenho duas tabelas....clientes e atendimentos...

e faço conexao atraves de datacontrol....

em um form para cadastro d atendimentos, chamo o nomefantasia da tabela clientes atraves de um MSFlexGrid...

certo...até aí tah td ok....

então cadastro o atendimento e tal....

mas acontece o seguinte...

o nomefantasia do primeiro registro da tabela clientes é joao

o segundo é jose

o terceiro é maria

se no form d atendimentos eu chamo a maria e cadastro seu atendimento, após dar um update para gravar o atendimento, o joao da tabela clientes altera sozinho para maria.....

ou seja....o nomefantasia do primeiro registro da tabela clientes muda para o nomefantasia que foi cadastrado no atendimento

o que ta acontecendo????

preciso de ajuda URGENTE !!!

obrigado

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Cara, é o seguinte, eu trabalho com o ADODC, mas como tem uma certa aparencia no modo de trabalho com o Datacontrol vou tentar te passar algo, mas ta um pouco confusa sua explicação

Pelo que entendi você tem uma tabela onde você cadastra os clientes e outra os atendimentos certo.

Se esta mudando o nome na tabela clientes é porque o campo da tabela atendimento esta vinculado à tabela de clientes.

você deveria usar dois contoles datacontrol neste mesmo form

o primeiro vinculado com a tebela clientes para fazer a busca na tabela clientes, com uma SQL no campo Recordsouce, ou outra foma que se encaixe melhor em sua busca.

o segundo para vincular os campo do atendimento com a tabela de atendimento, gravando os dados nesta tabela sem interferir na tabela clientes.

Link para o comentário
Compartilhar em outros sites

  • 0

Então Macêdo,

no form de cadastro de atendimentos eu uso 2 datacontrol

um relacionado à tabela clientes e outro à tabela atendimentos

eu precisava gravar dados na tabela atendimentos interferindo sim na tabela clientes,

pois o tempodisponivel resultado no atendimento deverá ser gravado na tabela clientes...

mas só o tempo, o nome fantasia não pode mudar

mas mesmo usando os 2 datacontrol não está dando certo...

e eu não sei trabalhar direito com o ADODC

o que fazer??!!

Link para o comentário
Compartilhar em outros sites

  • 0

Cara estou tentando imaginar como realmente está acontecendo mas tá dificil, se tiver como explicar melhor, já sei qual o erro, tudo bem, mas pra resolver seria preciso saber mais sobre seu aplicativo, mas vai uma dica:

Coloque no form para ficar visivel e disponivel para digitação textbox's não vinculadas ao DataControl e ponha condições para que essas text's não vinculadas preencham as textbox's vinculadas, as quais você irá deixar visible=false, deu pra entender?

este campo que ta gerando problema você pode fazer assim; um textnaovinculado que quando preenchido passe o valor para outras testes que irão gravar nas tabelas:

private sub textnaovinculado_Lostfocus()

textvinculado.text=textnaovinculado.text

end sub

será que serve?, se puder postar mais sobre o funcionamento, ou os próprios nomes dos controles e tal...vamos conseguir chegar lá, não é dificil não.

Link para o comentário
Compartilhar em outros sites

  • 0

então macedo, vou tentar explicar melhor como está meu aplicativo.

Espero que tenha paciencia de ler tudo e possa me ajudar....pois explicarei exatamente como é o aplicativo...

É um programa para controlar o tempo que os clientes tem para serem atendidos

Cada cliente tem direito a 5 horas de atendimento por mês

Aí num form tem o cadastro de clientes, para cadastrar na tabela Clientes o código, nome, endereço, cidade, e assim por diante...e um ultimo campo a ser preenchido é o tempodisponivel...onde cada novo cliente já terá preenchido com 05:00, pois tem direito a 5 horas por mês

aí tem um outro form para cadastrar os atendimentos na tabela Atendimentos

nesse form tem os campos Data, Nome, Inicio, Termino, Duração e Tempodisponivel

aí surge o problema....eu coloquei dois datacontrol cada um relacionado com cada uma das tabelas...

então precisava chamar o cliente por uma combo e o tempodisponivel deste cliente que esta cadastrado na tabela Clientes, aparecer na textbox para poder ser subtraído do valor do campo Duração e então ser gravado na tabela Atendimentos.

Mas quando chamo o cliente pela combo, o seu tempodisponivel não aparece.

então resolvi fazer o seguinte...

coloquei no form de cadastro de atendimentos, um MSFlexGrid com os clientes cadastrados, então era só selecionar o cliente atraves da propriedade Trim do MSFlexGrid e o nome e tempodisponivel deste cliente aparecia nas textbox para poder ser gravada na tabela Atendimentos...

até aí deu certo....

o problema se dá após a gravação do atendimento na tabela....

exemplo:

no MSFlexGrid temos os seguintes clientes cadastrados:

Gabriel, Juliana, Gustavo, Cristiano, Ronaldo

então vou cadastrar um atendimento feito ao cliente Gustavo, aí seleciono ele no MSFlexGrid, cadastro todo o atendimento e gravo

Aí surge o grande problema...o atendimento é cadastrado corretamente na tabela Atendimentos, mas la na tabela Clientes há uma alteração.....

O campo Nome do primeiro registro da tabela é substituído pelo último Nome cadastrado em Atendimentos.....ou seja

se os nomes dos clientes cadastrados eram Gabriel, Juliana, Gustavo, Cristiano e Ronaldo, e o cliente cadastrado em atendimentos foi Gustavo, os nomes dos clientes na tabela Clientes passa a ser Gustavo, Juliana, Gustavo, Cristiano e Ronaldo

ou seja....não altera o primeiro registro inteiro, altera apenas o campo nome...

esse é o grande problema com o qual não estou sabendo lidar....

voce tem alguma soluçao para este problema???.......alguma outra forma de fazer o que estou tentando fazer???

quer que eu mande a codificação do aplicativo???

se puder me ajudar, ficarei muito grato

Obrigado

MSN: gfcabral666@hotmail.com

Link para o comentário
Compartilhar em outros sites

  • 0

Tenho quase certeza que o erro está na ligação do Datacontrol com os campos na propriedade datafield, uma coisa que não está batendo é quando você diz que só aparece o campo do tempo quando usa o flexgrid, se você tiver a textbox com a datafield e datasource da tabela correta não precisaria de flexgrid nem qualquer outro controle para o tempo aparecer.

O que está acontecendo é que o flexgrid quando indexado ao Datacontrol puxa todos os dados da tabela, por isso está aparecendo o campo tempo com ele, com certeza você está errando na ligação dos controles(textbox), reveja um a um.

Outra coisa que me deixa quase certo é o fato do erro ocorrer sempre no primeiro registro, pois toda tabela quando aberta aponta para o primeiro registro.

se puder me passar este projeto, terei prazer em ajudar pois gosto de desafio...jilney@hotmail.com, ou podemos verificar melhor no MSN.

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...