MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]tratar erro load form filtrado

    avatar
    ictsp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 02/09/2016

    [Resolvido]tratar erro load form filtrado Empty [Resolvido]tratar erro load form filtrado

    Mensagem  ictsp 16/9/2016, 12:22

    Bom dia! Sou novo no fórum e também estou aprendendo a trabalhar com o access. Por isso, peço desculpas pela minha ignorância e também a ajuda de vcs pra resolver esse problema:

    tenho um form principal de "cadastro" com um subform "detalhe de cadastro"

    após selecionar o produto e o tipo no subform, tem um botão que chama outro form (prtp) com um subform(ptsub) de consulta de preço, que já abre filtrado com base em produto e tipo selecionado.

    linha código desse botão:

    Private Sub con_Click()
    If IsNull(CB25) Then
    MsgBox "É necessário informar o perfil  para realizar a consulta de preço", vbCritical + vbOKOnly, "Falta de Dados"
    Else
    If IsNull(CB27) Then
    MsgBox "É necessário informar o tipo do perfil  para realizar a consulta de preço", vbCritical + vbOKOnly, "Falta de Dados"
    Else
    On Error GoTo Err_CON_Click
     Dim stLinkCriteria3 As String
     stDocName = "Prtp"
     
       stLinkCriteria3 = "[PROD]=" & "'" & Me![CB25] & "' AND [TIPO]=" & "'" & Me![CB27] & "'"
       
       DoCmd.OpenForm stDocName, , , stLinkCriteria3
       
       
    Exit_CON_Click:
       Exit Sub

    Err_CON_Click:
       MsgBox Err.Description
       Resume Exit_CON_Click
       End If
       End If
    End Sub

    código load form chamado:

    Private Sub Form_Load()
    SQL = "SELECT * from ptsub Where [prod] = '" & PROD.Value & "'and [tipo] = '" & TIPO.Value & "'"
    Me.PTSUB.Form.RecordSource = SQL
    Me.PTSUB.Requery
    lp.Enabled = False
    End Sub

    Quando o produto selecionado não está cadasdatro, ocorre o seguinte erro:

    erro tempo de execução '2427'
    você inseriu uma expressão que não tem valor'


    Private Sub Form_Load()
    SQL = "SELECT * from ptsub Where [prod] = '" & PROD.Value & "'and [tipo] = '" & TIPO.Value & "'"[/strike]
    'vc inseriu uma expressão que contém uma referência .....
    Me.PTSUB.Form.RecordSource = SQL
    Me.PTSUB.Requery
    lp.Enabled = False
    End Sub

    Alguém poderia me ajudar a resolver isso?
    Desde já, agradeço imensamente ajuda de vcs.
    Anexos
    [Resolvido]tratar erro load form filtrado AttachmentDoc1.pdf
    Você não tem permissão para fazer download dos arquivos anexados.
    (90 Kb) Baixado 1 vez(es)
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]tratar erro load form filtrado Empty Re: [Resolvido]tratar erro load form filtrado

    Mensagem  FabioPaes 16/9/2016, 16:22

    Amigo, para tratamento de erros, faça assim:

    Na primeira Linha de comando coloque isso:

    On Error GoTo 1


    'Aqui coloque todo o comando que deve ser executado no Botao...


    'Aqui finalizamos com o tratamento de erro, e também ignoramos alguns
    'Ja estamos ignorando aqui o erro 2427

    1:
    If Err.Number = 2427 OR Err.Number = 0 Then
           Err.Number=0
           Exit Sub
       Else

           MsgBox "Nº Erro: " & Err.Number & " - " & Err.Description,vbInformation
           Exit Sub
       End If







    Exemplo de um comando completo para exportação de dados para Excel, onde ignora o erro quando o usuario cancela a exportação...


    Private Sub botão_exportar_para_excel_Click()
    On Error GoTo 1
    DoCmd.OutputTo acOutputTable, "CONTACTOS", "MicrosoftExcel Workbook (*.xlsx)", "", True, "", 0
    1:
    If Err.Number = 2501 OR Err.Number = 0 Then
           Err.Number=0
           Exit Sub
       Else

           MsgBox "Nº Erro: " & Err.Number & " - " & Err.Description
           Exit Sub
       End If
    End Sub



    Pode trabalhar isso para quando ocorrer o erro 2427 emitir uma mensagem dizendo que nao tem dados...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    ictsp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 02/09/2016

    [Resolvido]tratar erro load form filtrado Empty tratar erro load form filtrado

    Mensagem  ictsp 17/9/2016, 00:17

    Fabio, muito obrigado por sua ajuda! Porém, desculpe minha ignorância, mas onde exatamente devo colocar o código que vc enviou?

    Private Sub con_Click()
    If IsNull(CB25) Then
    MsgBox "É necessário informar o perfil para realizar a consulta de preço", vbCritical + vbOKOnly, "Falta de Dados"
    Else
    If IsNull(CB27) Then
    MsgBox "É necessário informar o tipo do perfil para realizar a consulta de preço", vbCritical + vbOKOnly, "Falta de Dados"
    Else
    On Error GoTo Err_CON_Click
    Dim stLinkCriteria3 As String
    stDocName = "Prtp"

    stLinkCriteria3 = "[PROD]=" & "'" & Me![CB25] & "' AND [TIPO]=" & "'" & Me![CB27] & "'"

    DoCmd.OpenForm stDocName, , , stLinkCriteria3


    Exit_CON_Click:
    Exit Sub

    Err_CON_Click:
    MsgBox Err.Description
    Resume Exit_CON_Click
    End If
    End If
    End Sub
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]tratar erro load form filtrado Empty Re: [Resolvido]tratar erro load form filtrado

    Mensagem  FabioPaes 17/9/2016, 01:55

    Substitua seu comando por este:
    (e neste codigo que apresenta o problema qnd nao tem dados certo?)


    Código:

    Private Sub con_Click()
    On Error GoTo 1
    Dim stLinkCriteria3 As String

    If IsNull(CB25) Then
    MsgBox "É necessário informar o perfil para realizar a consulta de preço", vbCritical + vbOKOnly, "Falta de Dados"
    Else
    If IsNull(CB27) Then
    MsgBox "É necessário informar o tipo do perfil para realizar a consulta de preço", vbCritical + vbOKOnly, "Falta de Dados"
    Else

    stDocName = "Prtp"

    stLinkCriteria3 = "[PROD]=" & "'" & Me![CB25] & "' AND [TIPO]=" & "'" & Me![CB27] & "'"

    DoCmd.OpenForm stDocName, , , stLinkCriteria3

    End If
    End If

    1:
    If Err.Number = 2427 OR Err.Number = 0 Then
          Msgbox "Sem dados para serem Exibidos",vbInformation
           Err.Number=0
           Exit Sub
       Else

           MsgBox "Nº Erro: " & Err.Number & " - " & Err.Description,vbInformation
           Exit Sub
    End If


    Qualquer coisa manda seu BD pra analise...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    ictsp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 02/09/2016

    [Resolvido]tratar erro load form filtrado Empty tratar erro load form filtrado

    Mensagem  ictsp 17/9/2016, 03:46

    Muito obrigado Fabio! Ajudou demais mesmo!! Valeu
    avatar
    ictsp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 02/09/2016

    [Resolvido]tratar erro load form filtrado Empty Re: [Resolvido]tratar erro load form filtrado

    Mensagem  ictsp 17/9/2016, 03:48

    Graças a ajuda do Fabio Paes, consegui resolver o problema. Muito Obrigado Fabio!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]tratar erro load form filtrado Empty Re: [Resolvido]tratar erro load form filtrado

    Mensagem  FabioPaes 17/9/2016, 18:18

    Dica: Caso tenha algum outro erro que deve ser ignorado, pasta colocar outro If ou ate mesmo dentro do mesmo If, atraver do Or...

    Ate mais se Deus quiser...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    [Resolvido]tratar erro load form filtrado Empty Re: [Resolvido]tratar erro load form filtrado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 04:15