Autor Tópico: Botão UpDate num Form Single Record  (Lida 1572 vezes)

Herberto Silva

  • Avançado
  • ****
  • Mensagens: 331
  • Programador Freelancer
    • Desenvolvimento de Software
    • Email
Botão UpDate num Form Single Record
« Online: Maio 28, 2010, 11:06:20 am »
Criei um form_XXX  (Orientation: SingleRecord) que é contrololado por uma chave unica de um campo que se chama NIF.
Quando o utilizador digita um NIF existente o programa avisa que já existe esse NIF.
Utilizando a rotina em AjaxEvents , nif_onchange:

sc_lookup(c,"SELECT nif, nome, morada, freguesia, codpostal, telefone, email
      FROM municipes WHERE nif = '{nif}'");
if(!empty({c})){
   {nome} = {c[0][1]};
   {morada}   = {c[0][2]};
   {freguesia}   = {c[0][3]};
   {codpostal}      = {c[0][4]};
   {telefone} = {c[0][5]};
   {email}    = {c[0][6]};
   
   //sc_set_focus("Endereço");
}
procura o registo correspondente a esse NIF e apresenta na ficha os dados preenchidos.
Até aqui funciona bem.
Mas o que pretendo e se me puderem indicar como se faz, é que o SC apresente o butão Update, e que haja possibilidade de o utilizador poder alterar algum campo e gravar essas alterações, com o UPDATE.
Cumprimentos,
Herberto Silva
herberto.silva@sapo.pt
skype: herbertobfsilva
www.software-global.info

George Carvalho

  • Expert
  • *****
  • Mensagens: 1369
    • Email
Re: Botão UpDate num Form Single Record
« Responder #1 Online: Maio 28, 2010, 11:58:51 am »
Você pode criar um campo tipo Radio “com recarga” perguntando se quer atualizar o registro, no evento Onload testar se no campo Radio foi marcada a opção “Sim”, se afirmativo processar as atualizações necessária.

O campo Radio deve iniciar com a opção display = off e quando ocorrer o evento nif_onchange e já existir o NIF torná-lo onn.

Acho que assim funciona.

George Carvalho
George Carvalho
Porto de Galinhas/PE

Herberto Silva

  • Avançado
  • ****
  • Mensagens: 331
  • Programador Freelancer
    • Desenvolvimento de Software
    • Email
Re: Botão UpDate num Form Single Record
« Responder #2 Online: Maio 31, 2010, 10:15:46 am »
Não estou a ver como o executar.
Será possivel colocar 1 exemplo. Obrigada...
Cumprimentos,
Herberto Silva
herberto.silva@sapo.pt
skype: herbertobfsilva
www.software-global.info

George Carvalho

  • Expert
  • *****
  • Mensagens: 1369
    • Email
Re: Botão UpDate num Form Single Record
« Responder #3 Online: Maio 31, 2010, 11:11:43 am »
Crie um campo tipo Radio com o Label “Atualizar cadastro xxxxxxxxx” e com as opções Sim(S) e Não(N).

No evento onLoad use a macro sc_field_display para tornar o campo off.

Na rotina
sc_lookup(c,"SELECT nif, nome, morada, freguesia, codpostal, telefone, email
      FROM municipes WHERE nif = '{nif}'");
if(!empty({c})){
  {nome} = {c[0][1]};
  {morada}   = {c[0][2]};
  {freguesia}   = {c[0][3]};
  {codpostal}      = {c[0][4]};
  {telefone} = {c[0][5]};
  {email}    = {c[0][6]};
  sc_field_display ({Seu campo Radio}, on);
  //sc_set_focus("Endereço");
}
No evento onLoad
Se seu campo Radio = 'S' inclua a rotina para atualizar o registro desejado.
George Carvalho
Porto de Galinhas/PE

Herberto Silva

  • Avançado
  • ****
  • Mensagens: 331
  • Programador Freelancer
    • Desenvolvimento de Software
    • Email
Re: Botão UpDate num Form Single Record
« Responder #4 Online: Maio 31, 2010, 11:41:37 am »
Obrigada pela explicação.
Até aqui tudo bem.
Mas como posso agora reutilizar o botão INSER para actualizar o registo? ou Terei de colocar outro botão?
Cumprimentos,
Herberto Silva
herberto.silva@sapo.pt
skype: herbertobfsilva
www.software-global.info

George Carvalho

  • Expert
  • *****
  • Mensagens: 1369
    • Email
Re: Botão UpDate num Form Single Record
« Responder #5 Online: Maio 31, 2010, 03:30:04 pm »
Você não precisa de botão, ao atualizar o campo Radio o form vai ser recarregado, no envento onLoad do form inclua um if testando se a resposta selecionada foi 'S', se  afirmativo inclua os comando necessários para o update do registro.
George Carvalho
Porto de Galinhas/PE