Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tganet

Consulta no VBA

Recommended Posts

Imagem Postada

Caros estou com o seguinte problema, gostaria de uma ajuda.

1 Problema

Vamos a explicação.

Campo 1 = Recebe o resultado de um formulário anterior, e depois faz uma nova consulta atualizando os campos subsequentes

Campo 2 a Campo 5 = não tem nenhum problema

Campo 6 = quando o usuario escolher este parametro gostaria que o campo 7 fosse preenchido automaticamente, pois atualmente o usuário tem que escolher, este campo é a chave primária, e no futuro ela ficará oculto.

2 Problema

Cria uma consulta usando o VBA, para capturar o campo 7(que e chave primária)para que sejam carregados os 3 campos que estão dentro do retangulo azul, para que quando o usuário inserir dados no mesmo campo dos critérios pré estabelidos antes.

3 Problema

Gostaria de uma função que verifica-se os campos de 1 a 6 foram prenchidos, antes de preencher os campos do retangulo azul, mas não apagando os dados já escolhido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Não consegui entender muito bem, mas talvez consiga ajudar um pouco...

 

 

1.1) Campo1 - receber informação:

 

Private Sub Campo1_GotFocus()

 

'Caso seja isso, basta fazer as alterações nos nomes dos campos

Form_FormPloTit.Campo1 = Form_FormInicialPlo.Campo1

 

End Sub

 

 

1.6) Campo 6 - preencher automático:

 

Qual o parâmetro de preenchimento do campo 6? Trata-se do código do usuário ou algo parecido?

 

 

 

2) Mais uma vez o parâmetro utilizado para o preenchimento se faz necessário... Favor tentar ser mais claro.

 

 

3) Verificação dos campos:

 

'Verifica se os campos estão preenchidos, caso não, recebe o foco (SetFocus)+ msg

If IsNull(lstOperador) Then

MsgBox "Preenchimento obrigatório!", vbCritical, "Sistema"

lstOperador.SetFocus

ElseIf IsNull(lstMidia) Then

MsgBox "Preenchimento obrigatório!", vbCritical, "Sistema"

lstMidia.SetFocus

ElseIf IsNull(lstStatus) Then

MsgBox "Preenchimento obrigatório!", vbCritical, "Sistema"

lstStatus.SetFocus

Else

cmdOk.SetFocus

End If

 

 

 

PS: recomendo sempre utilizar um tratamento de erro nos comandos - caso não esteja familiarizado, abaixo segue um exemplo:

 

Private Sub cmdAdicionar_Click()

On Error GoTo Err_Adicionar

 

 

'Neste caso utilizei em um evento de botão

'A partir daqui inserir o comando desejado

 

 

 

Exit_Adicionar:

Exit Sub

 

 

Err_Adicionar:

 

MsgBox "Erro número: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, "Sistema"

 

Resume Exit_Adicionar

 

End Sub

 

 

 

 

Sem mais,

 

Julien Sorel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Não consegui entender muito bem, mas talvez consiga ajudar um pouco...

 

 

1.1) Campo1 - receber informação:

 

Private Sub Campo1_GotFocus()

 

'Caso seja isso, basta fazer as alterações nos nomes dos campos

Form_FormPloTit.Campo1 = Form_FormInicialPlo.Campo1

 

End Sub

 

O Campo 1 Recebe a informação de um outro formulário, para impedir ao usuário escolher outra opção tendo que para isso voltar ao formulário inicial, quando o usuário escolher a opção desejada no campo1, haverá um reconsulta para que seja prenchido somente as informações relativas ao campo1.

1.6) Campo 6 - preencher automático:

 

Qual o parâmetro de preenchimento do campo 6? Trata-se do código do usuário ou algo parecido?

 

O campo6, será o último campo para preenchimento do usuário, ou seja ele escolheu

Quando o usuário escolher o campo6, haverá novamente uma reconsulta, que me trará um valor único que esta no campo7, que é chave primária que na imagem é o número 68, o que eu quero que ele seja marcado automaticamente dentro da caixa sem que haja a necessidade de escolha, de forma que fique preenchido automaticamente.

 

2 Problema

Cria uma consulta usando o VBA, para capturar o campo 7(que e chave primária)para que sejam carregados os 3 campos que estão dentro do retangulo azul, para que quando o usuário inserir dados no mesmo campo dos critérios pré estabelidos antes.

 

Se você der uma olha no final da imagem ele mostrará que existem 1 de 68 (registros), preciso capturar o campo7, fazer uma consulta, acredito que pelo VBA, para ir diretamente para o registro capturado no campo7, neste caso 68, para que assim o dado seja inserido na mesma linha da chave primária, espero que não tenha ficado confusso.

 

 

 

 

 

2) Mais uma vez o parâmetro utilizado para o preenchimento se faz necessário... Favor tentar ser mais claro.

 

 

3) Verificação dos campos:

 

'Verifica se os campos estão preenchidos, caso não, recebe o foco (SetFocus)+ msg

If IsNull(lstOperador) Then

MsgBox "Preenchimento obrigatório!", vbCritical, "Sistema"

lstOperador.SetFocus

ElseIf IsNull(lstMidia) Then

MsgBox "Preenchimento obrigatório!", vbCritical, "Sistema"

lstMidia.SetFocus

ElseIf IsNull(lstStatus) Then

MsgBox "Preenchimento obrigatório!", vbCritical, "Sistema"

lstStatus.SetFocus

Else

cmdOk.SetFocus

End If

 

 

 

PS: recomendo sempre utilizar um tratamento de erro nos comandos - caso não esteja familiarizado, abaixo segue um exemplo:

 

Private Sub cmdAdicionar_Click()

On Error GoTo Err_Adicionar

 

 

'Neste caso utilizei em um evento de botão

'A partir daqui inserir o comando desejado

 

 

 

Exit_Adicionar:

Exit Sub

 

 

Err_Adicionar:

 

MsgBox "Erro número: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, "Sistema"

 

Resume Exit_Adicionar

 

End Sub

 

 

 

 

Sem mais,

 

Julien Sorel

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Quando me referi aos parâmetros utilizados, o que esperava como resposta era uma explicação sobre a funcionalidade destas consultas.

 

Ao invés de tentar adivinhar novamente, antes favor esclarecer algumas dúvidas:

 

1) O que faz cada campo?

 

2) De onde é retirada as informações?

 

 

Sem saber como funciona o preenchimento do form - e de onde surgem as informações - não conseguirei ajudar.

 

 

 

 

Sem mais,

 

Julien Sorel

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.