Autor Tópico: Pegar valor do campo autonumeração de um form e jogar em um campo de outro form  (Lida 638 vezes)

mafranca

  • Iniciante
  • **
  • Mensagens: 63
    • Email
Prezados,
Estou necessitando pegar o último valor da auto-numeração de um formulário (de uma tabela) e considerar ele em um campo de outro formulário (outra tabela). É possível? Como proceder?

Por exemplo, eu tenho a tabela Ocorrencias, do qual o número dela é gerado automaticamente, porém eu tenho uma tabela Histórico que preciso pegar o número da ocorrencia gerada automaticamente.

Poderiam me ajudar?

Obrigado

robertobru

  • Expert
  • *****
  • Mensagens: 555
    • Email
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #1 Online: Abril 09, 2018, 10:18:32 pm »
No evento OnAfterInsert do seu formulário ( o exemplo do código abaixo está disponível no lado esquerdo -insert code- do SC)

$insert_table  = 'outratabela';
$insert_fields = array(
         /*(campo da outratabelal)*/  'produtoIdFk' =>   /*(campo da tabela atual)*/   "'{produtoId}'",
        );

// Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
    . ' ('   . implode(', ', array_keys($insert_fields))   . ')'
    . ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';

sc_exec_sql($insert_sql);

}
$user->Close();

sc_commit_trans();

mafranca

  • Iniciante
  • **
  • Mensagens: 63
    • Email
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #2 Online: Abril 09, 2018, 11:52:45 pm »
Obrigado Robertobru pela ajuda mas eu fiz igual está abaixo e deu erro, o que será que pode ser?

$insert_table  = 'ocorrencias';
$insert_fields = array(
         /*(campo da outratabelal)*/  'id' =>   /*(campo da tabela atual)*/   "'{numero_ocorrencia}'",
        );

// Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
    . ' ('   . implode(', ', array_keys($insert_fields))   . ')'
    . ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';

sc_exec_sql($insert_sql);

}
$user->Close();

sc_commit_trans();

robertobru

  • Expert
  • *****
  • Mensagens: 555
    • Email
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #3 Online: Abril 10, 2018, 10:08:49 am »
Printa ou descreva o erro pra nós, por favor.

mafranca

  • Iniciante
  • **
  • Mensagens: 63
    • Email
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #4 Online: Abril 10, 2018, 12:53:14 pm »
Obrigado pelo apoio robertobru,
segue a mensagem de erro:

Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\SISTEMAGM\form_historico_ocorrencia\form_historico_ocorrencia_apl.php on line 3223

robertobru

  • Expert
  • *****
  • Mensagens: 555
    • Email
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #5 Online: Abril 10, 2018, 09:07:37 pm »
Parece que o erro não está exatamente no código que postei. Se puder manda o seu código completo onde gera o citado erro. Se eu não conseguir resolver, o pessoal aqui do fórum são feras.

mafranca

  • Iniciante
  • **
  • Mensagens: 63
    • Email
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #6 Online: Abril 12, 2018, 02:04:09 pm »
Eu fiz o teste e tirei esse código e não apresenta erro. Se eu coloco esse código ao executar apresenta o erro. Agora não sei como proceder.


Haroldo

  • Expert
  • *****
  • Mensagens: 8711
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #7 Online: Abril 12, 2018, 02:14:13 pm »
Roberto, eu acho que ele executou literalmente o seu código e não fez as devidas substituições.

mafranca

  • Iniciante
  • **
  • Mensagens: 63
    • Email
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #8 Online: Abril 12, 2018, 04:18:52 pm »
O código alterado por mim, com minha tabela e os campos eu passei numa mensagem acima, peço desculpas pelo transtorno. Se alguém tiver uma luz eu fico muito agradecido.

Haroldo

  • Expert
  • *****
  • Mensagens: 8711
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #9 Online: Abril 12, 2018, 05:30:40 pm »
coloca a app em modo debug.

Cássio Lacerda

  • Intermediário
  • ***
  • Mensagens: 196
  • Força e honra!!!
    • Brain Legacy
    • Email
Re:Pegar valor do campo autonumeração de um form e jogar em um campo de outro form
« Responder #10 Online: Junho 01, 2018, 01:00:16 pm »
Oi MaFranca,

Dentro do ScriptCase, no editor, no lado direito, tem uma área chamada Insert Code, voce ja viu isso?



Database


Update another table
   Insert a record on another table
   Delete a record on another table
   Check for an existing record
   Selectiong fileds from another table
   Selectiong firelds from another table using recordset


Eu usu um select para pegar o ultimo inserido:


      $check_sql = "SELECT id FROM `$par_table` ORDER BY ID DESC LIMIT 0,1";


acho que com esse select voce consguirá pegar o ID da tabela que voce precisa e colocar na que quer salvar.

valeu?
Cássio Lacerda