Jump to content
Fórum Script Brasil
  • 0

Problemas Com Registros


Gabriel Cabral
 Share

Question

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 to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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: [email protected]

Link to comment
Share on other 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 [email protected], ou podemos verificar melhor no MSN.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...