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

(Resolvido) Dúvidas atualizar um campo quando filtrando informações de


pirata_amotinado

Pergunta

Bom dia amigos, sou novo aqui no forum mas já consegui muita ajuda com outros posts. agora estou com bastate dificuldades, gostaria de saber se alguém pode me dar uma mãozinha....

Fiz um BD para ter um controle de curso no exterior da empresa onde trabalho. nesse Bd tenho todos os dados do curso e quem irá fazer o curso. em um dos campos denominado "LOCAL", entra a cidade e o país, (EX: New Jerssey, EUA). para todos os cursos tenho que tramitar documentos com antecedência de 40 dias para inicar as ações de documentação. no caso de cursos nos EUA, meu prazo é de 65 dias pois requer mais alguns documentos exigidos pelo governo americano, como por exemplo um documento denominado "FVR"(sigla). bom, agora que vem a duvida....

1-A data de "Start" para documentações eu consegui fazer, calculando os dias de antecedencia pela data de inicio do curso. mas tenho que colocar os dias de antecedencia manualmente. tem como eu colocar a cidade e o pais no campo "LOCAL" ele só ler o pais e dar automaticamente os dias de antecedencia (lembrando, EUA - 65dias e demais paises - 40 dias) e fazer a conta para o inico da tramitação dos documentos?

2- E quando for curso nos EUA, após eu colocar os dados no campo "LOCAL", ele aparecer um novo campo para esse documento adicional tipo o "FRV"?

amigos desde já agradeço a paciência e a ajuda de vocês. grande abraço.

Editado por pirata_amotinado
Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

1- Deveria ter 2 campos para separar local de país

2- AoSair de TxtLocal coloque: If InStr(1,TxtLocal,",EUA")>0 Then TxtStart=DateAdd("d",Data,-65) Else TxtStart=DateAdd("d",Data,-40)

3- Coloque TxtFVR Invisível. AoSair de TxtLocal coloque: If InStr(1,TxtLocal,",EUA")>0 Then TxtFVR.Visible=True. AoSair de TxtFVR coloque: TxtFVR.Visible=False

Link para o comentário
Compartilhar em outros sites

  • 0
1- Deveria ter 2 campos para separar local de país

2- AoSair de TxtLocal coloque: If InStr(1,TxtLocal,",EUA")>0 Then TxtStart=DateAdd("d",Data,-65) Else TxtStart=DateAdd("d",Data,-40)

3- Coloque TxtFVR Invisível. AoSair de TxtLocal coloque: If InStr(1,TxtLocal,",EUA")>0 Then TxtFVR.Visible=True. AoSair de TxtFVR coloque: TxtFVR.Visible=False

Obrigado Alexandre, pela paciência, mas preciso de um pouco mais dela..rsrsrs não consegui fazer como você falou..ficou algumas duvidas...

1- vou separar os campos local e pais. (vou seguir sua sugestão).

2- no campo "PAIS" devo colocar a formula na propriedades do campo na linha ao sair, certo? If InStr(1,TxtPAIS,",EUA")>0 Then TxtSTAR=DateAdd("d",Data,-65) Else TxtSART=DateAdd("d",Data,-40).FICARIA ASSIM????

Link para o comentário
Compartilhar em outros sites

  • 0
2- Se colocar o campo "PAIS" separado, então, deve colocar ao sair: If TxtPAIS="EUA" Then TxtSTART=DateAdd("d",Data,-65) Else TxtSTART=DateAdd("d",Data,-40)

Bom dia Alexandre, poxa cara, eu sou bem burrinho quando entra essa parte de códigos e formulas. tentei as que me mandou, mas não deu certo.

coloquei na linha ao sair da propriedade do campo "pais" a formula que me mandou, ai dá seguinte msg de erro.

"O Conclave 2009 não pode localizar a macro "If TxtPAIS="EUA" Then TxtSTART=DateAdd("d",Data,-65) Else TxtSTART=DateAdd("d",Data,-40)".

A macro (ou seu grupo de macro)não existe ou a macro é nova mas não foi salva.

Observe que quando você insere a sintaxe nomedogrupodemacro.nomedamacro em um argumento, você deverá especificar o nome sob o qual o grupo de macro dessa macro foi salvo pela última vez.".

estou abusando da sua paciência não amigo??...

Editado por pirata_amotinado
Link para o comentário
Compartilhar em outros sites

  • 0

Crie uma caixa de texto para o campo País e denomine-a de TxtPais

Se tem uma caixa de texto para o campo Start designada de TxtStart, o código que lhe passei deverá servir.

If TxtPAIS="EUA" Then TxtSTART=DateAdd("d",Data,-65) Else TxtSTART=DateAdd("d",Data,-40)

Para uma resposta mais em concreto pode disponibilizar a bd aqui esnips

Disponibilize a bd com dados significativos mas falsos para protecção quer do seu trabalho quer das pessoas ou entidades envolvidas

Link para o comentário
Compartilhar em outros sites

  • 0

Bom entenda a lógica que você mesmo informou, você quer que um determinado calculo/ação seja executado sempre que você alterar um determinado objeto (caixa de texto, combo box, etc...), para isso aconselho vocÊ utilizara a propriedade evento "Após atualizar" do objeto que você está editando.

No caso de vocÊ não está conseguindo anexar seu BD aqui, vocÊ pode utilizar algum server gratis como www.snips.com, ueboo.com, www.4share.com, www.rapidshare.com ou outro para hospedar seu arquivo e disponibilize o link para que eu ou outra pessoa possa baixar e lhe ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0

Os controlos não devem ter nomes iguais aos dos campos.

Nos controlos utilize:

TxtDataInicio para saber que é Caixa de texto e armazena o campo DataInicio

CmdFechar para saber que é botão de comando e fecha o formulário

CxcNome para saber que é Caixa de combinação e armazena o campo Nome

RtlMorada para saber que é Rótulo e mostra a morada

etc.

1-Altere o nome da caixa de texto PAIS para TxtPais

2-Altere o nome da caixa de texto START para TxtStart

3-Na caixa de texto TxtPais, no acontecimento AoSair, coloque o seguinte código

Private Sub TxtPais_Exit(Cancel As Integer)

If TxtPais = "EUA" Then TxtStart = DateAdd("d", -65, Date) Else TxtStart = DateAdd("d", -40, Date)

End Sub

Link para o comentário
Compartilhar em outros sites

  • 0
Os controlos não devem ter nomes iguais aos dos campos.

Nos controlos utilize:

TxtDataInicio para saber que é Caixa de texto e armazena o campo DataInicio

CmdFechar para saber que é botão de comando e fecha o formulário

CxcNome para saber que é Caixa de combinação e armazena o campo Nome

RtlMorada para saber que é Rótulo e mostra a morada

etc.

1-Altere o nome da caixa de texto PAIS para TxtPais

2-Altere o nome da caixa de texto START para TxtStart

3-Na caixa de texto TxtPais, no acontecimento AoSair, coloque o seguinte código

Private Sub TxtPais_Exit(Cancel As Integer)

If TxtPais = "EUA" Then TxtStart = DateAdd("d", -65, Date) Else TxtStart = DateAdd("d", -40, Date)

End Sub

Prezados Alexandre e MrMalj, obrigado pela atenção dispensada por vocês. consegui fazer, só tem um probleminha....aparece no campo START a data de hoje que é subtraida... eu preciso que sejam subtraidas as datas do campo INICIO, que é a data de inicio do curso. se puderem me dar mais essa ajuda. ficarei agradecido. valeu mesmo por tudo

Opa, consegui sanar o "probleminha" o código ficou da seguinte forma.

If Pais = "EUA" Then Start = DateAdd("d", -65, INICIO) Else Start = DateAdd("d", -40, INICIO)

End Sub

Galera muito obrigado mesmo.

pode encerrar como RESOLVIDO

Editado por pirata_amotinado
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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...