Jump to content
Fórum Script Brasil
  • 0

Problemas Com O Relacionamento?


Guest Ronaldo

Question

Guest Ronaldo

olá pessoal estou com dificuldades pois tenho pouca experiência e preciso da ajuda de vocês,estou fazendo um programa para relatório de os aí eu tenho duas tabelas, uma chamada Cliente e outra chamada OS, os campos da tabela são:

Cliente OS

------- -----

nome-------------->nome

end No_Os

tel data_de_abertura

. .

. .

Onde nome é um campo que não pode ser duplicado, ou seja só não pode existir dois clientes com o mesmo valor, e o campo No_Os é um campo auto-numerico. E um cliente pode ter varias OS, aí como estou usando um adodc coloquei na propriedade recordsource "SELECT *

FROM cliente INNER JOIN os ON cliente.nome=os.nome"

e para chamar o cliente eu usei dentro da text txtcliente usando o evento lost focus o codigo:Adodc1.Recordsource="Select * from cliente where nome='"& txtcliente &"'". quando carrego o programa o campo No_Os assumi o valor 1 ai eu chamo o cliente e consigo gravar, dou addnew o valor do campo no_os vai para 2 ai eu chamo o cliente gravo ate aí beleza, quando dou outro addnew da um erro do tipo run- time cujo numero do erro é 3265 e sua descrição é "ADO não pode encontrar o objeto na coleção correspondente ao nome ou a referência ordinal solicitada pelo aplicativo."

Se alguém puder me ajudar ficarei grato, se não puder eu entederei pois sei que acho que compliquei muita esta questao.

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

vou explicar melhor a OS é o relatório de serviço, e ela tem um campo auto-numerico

Private Sub cmdNovo_Click() 
Adodc1.Recordset.MoveLast 
codigo = Adodc1.Recordset("numos") 
Adodc1.Recordset.AddNew 
codigo = codigo + 1 
txtnos.Text = codigo 
TxtData.SetFocus
, pra registrar o numero de serviços certo, e na tabela OS vai os campos, tipo de equipamento, problema da maquina do cliente, etc. A tabela Cliente vai ter os dados dele e só poder haver apenas um mesmo nome do cliente ou seja nõ é duplicado. vou dar um exemplo: no programa não há nenhum registro, consequentemente o campo No_OS vair receber 1 eu chamo o cliente através
Private Sub txtCliente_LostFocus() 
Adodc1.RecordSource = "SELECT * FROM cliente WHERE nome = '" & txtCliente.Text & "'"

ai beleza ele aparece e consigo gravar, aí eu abro outra os o campo No_Os assumi o valor 2 e chamo o mesmo cliente que chamei para os 1, gravo beleza, aí quando vou voltar para a os 1 não existe mais so a os 2 se eu abrir a os 3 e chamar o mesmo cliente a os 2 desaparece será que vocês podem me ajudar :(

Link to post
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.



  • Forum Statistics

    • Total Topics
      148721
    • Total Posts
      644510
×
×
  • Create New...