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]Impressão - Relatório com filtro de datas

    paulodaeira
    paulodaeira
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 02/10/2012

    [Resolvido]Impressão - Relatório com filtro de datas Empty [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  paulodaeira 26/10/2023, 23:27

    Olá a todos

    Podem me ajudar neste problema

    Até à pouco tempo quando abria este relatório com este código estava a funcionar e agora do nada deixou de funcionar

    O código é o seguinte:

    DoCmd.OpenReport "R_Etiqueta_para_produtos", acViewNormal, , "Cstr(SerieImpressão) = '" & Me.Dataregisto & "'"

    O campo SerieImpressão e do tipo data/hora
    o que poderá estar a passar-se?

    Cumprimentos
    Paulo Delgado
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  JPaulo 27/10/2023, 11:53

    Olá

    Simulei aqui a instrução e o relatório abre sem problema;
    Mas pode também testar usando o CDate;

    Código:
    DoCmd.OpenReport "R_Etiqueta_para_produtos", acViewPreview, , "CDate(SerieImpressão) = '" & Me.Dataregisto.Value & "'"


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Instruções SQL como utilizar...
    paulodaeira
    paulodaeira
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 02/10/2012

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  paulodaeira 8/11/2023, 00:09

    Olá

    Já testei mas continua igual

    Aparece este erro
    [Resolvido]Impressão - Relatório com filtro de datas 113

    O código é o seguinte:
    Código:


    Private Sub btCriarRegistros_Click()
    Dim j As Long
    Dim k As Long
    Dim strSQL As String
    Dim rs As DAO.Recordset

    '----------------------
    'Limita o valor introduzido
    '----------------------
    If Len(Me!txTotal & "") = 0 Or Me!txTotal > 200 Or Me!txTotal <= 0 Then
       MsgBox "Valor fora da escala (1 a 200 Etiquetas)...", vbInformation, "Aviso"
       Me.txTotal.SetFocus
       Exit Sub
    End If
    '----------------------
    'Informa que o campo Produtoselecionado está vazio
    '----------------------
    If IsNull(Me!Produtoselecionado) Then
            MsgBox "O nome do produto deverá estar preenchido", vbInformation, "Aviso"
            Me.Produtoselecionado.SetFocus
            Exit Sub
    End If
    '----------------------
    'Informa que o campo Valênciaselecionada está vazio
    '----------------------
    If IsNull(Me!Valênciaselecionada) Then
            MsgBox "A valência deverá estar preenchida", vbInformation, "Aviso"
            Me.Valênciaselecionada.SetFocus
            Exit Sub
    End If

    Me!Dataregisto = Update
    '-----------------------
    'Abre tabela T_Etiquetas_Saidas
    '-----------------------
    Set rs = CurrentDb.OpenRecordset("T_Etiquetas_Saidas")
    '-------------------------------------------------------------------
    ' Adicionando os registros, na tabela T_Etiquetas_Saidas
    '--------------------------------------------------------------------
    For j = 0 To (Nz(Me!txTotal, 0)) - 1
       rs.AddNew
          rs!Nome_Produto = Me!Produtoselecionado
          rs!Valência = Me!Valênciaselecionada
          rs!SerieImpressão = Me!Dataregisto
          rs!PVP = Me!txtPVP
          rs!PrecoCompra = Me!txtPrecoCompra
          rs!N_ProdutoGTE = Me!txtN_ProdutoGTE
          rs!Criadopor = getUsuarioAtual()
          rs!Criadoem = Now()
       rs.Update
       Randomize
       k = k + 1
       DoEvents
    Next
    MsgBox "Foram criados " & k & " registros...", vbInformation, "Aviso"
    Me!txTotal = Null
    Me!Produtoselecionado = Null
    Me!Valênciaselecionada = Null
        
    DoCmd.OpenReport "R_Etiqueta_para_produtos", acViewPreview, , "Cdate(SerieImpressão) = '" & Me.Dataregisto & "'", acDialog

    Me!Produtoselecionado.SetFocus
    End Sub

    O erro aparece na seguinte linha:
    DoCmd.OpenReport "R_Etiqueta_para_produtos", acViewPreview, , "Cdate(SerieImpressão) = '" & Me.Dataregisto & "'", acDialog
    ou
    DoCmd.OpenReport "R_Etiqueta_para_produtos", acViewPreview, , "Cstr(SerieImpressão) = '" & Me.Dataregisto & "'", acDialog

    Penso que não está a conseguir ver o campo SerieImpressão do relatório R_Etiqueta_para_produtos

    este campo é do tipo DATA/HORA e tem como dados por exemplo: 07/11/2023 23:52:31

    Cumprimentos
    Paulo
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  JPaulo 8/11/2023, 11:38

    Não percebo este trecho no código;
    Código:
    Me!Dataregisto = Update

    Até porque ele está a queixar-se da falta de informação na data (NULL).

    Pode testar assim e na instrução é com cardinal # porque é data, não é com aspas simples que é para numerico;
    Código:
        If IsNull(Me!Dataregisto) Or Me!Dataregisto = "" Then
            Me!Dataregisto = Date
        End If
       
    DoCmd.OpenReport "R_Etiqueta_para_produtos", acViewPreview, , "CDate(SerieImpressão) = #" & Me.Dataregisto & "#", acDialog


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Instruções SQL como utilizar...
    paulodaeira
    paulodaeira
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 02/10/2012

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  paulodaeira 8/11/2023, 22:16

    Olá

    Código:
    Me!Dataregisto = Update

    Esta parte do código irá atualizar a data e hora da caixa de texto com o nome Dataregisto que está no formulário onde se encontra o botão btCriarRegistros
    Esta caixa de texto terá a data e hora atualizada quando escreve os registos na tabela T_Etiquetas_Saidas

    Adicionei o seguinte código antes da linha de abrir o relatório e este está a ir buscar a data que consta na caixa de texto Dataregisto

    Código:
    MsgBox "Foi gerada a seguinte serie de etiquetas - " & Me!Dataregisto, vbInformation, "Aviso"

    de seguida alterei o código como me disse e continua a dar o mesmo erro

    será algo errado na parte
    Código:
    ..."CDate(SerieImpressão) = #...
    tendo em conta que antes está a conseguir ler
    Código:
    #" & Me.Dataregisto & "#", acDialog

    Codigo Atual
    Código:
    Private Sub btCriarRegistros_Click()
    Dim j As Long
    Dim k As Long
    Dim strSQL As String
    Dim rs As DAO.Recordset

    '----------------------
    'Limita o valor introduzido
    '----------------------
    If Len(Me!txTotal & "") = 0 Or Me!txTotal > 200 Or Me!txTotal <= 0 Then
       MsgBox "Valor fora da escala (1 a 200 Etiquetas)...", vbInformation, "Aviso"
       Me.txTotal.SetFocus
       Exit Sub
    End If
    '----------------------
    'Informa que o campo Produtoselecionado está vazio
    '----------------------
    If IsNull(Me!Produtoselecionado) Then
            MsgBox "O nome do produto deverá estar preenchido", vbInformation, "Aviso"
            Me.Produtoselecionado.SetFocus
            Exit Sub
    End If
    '----------------------
    'Informa que o campo Valênciaselecionada está vazio
    '----------------------
    If IsNull(Me!Valênciaselecionada) Then
            MsgBox "A valência deverá estar preenchida", vbInformation, "Aviso"
            Me.Valênciaselecionada.SetFocus
            Exit Sub
    End If

    Me!Dataregisto = Update
    '-----------------------
    'Abre tabela T_Etiquetas_Saidas
    '-----------------------
    Set rs = CurrentDb.OpenRecordset("T_Etiquetas_Saidas")
    '-------------------------------------------------------------------
    ' Adicionando os registros, na tabela T_Etiquetas_Saidas
    '--------------------------------------------------------------------
    For j = 0 To (Nz(Me!txTotal, 0)) - 1
       rs.AddNew
          rs!Nome_Produto = Me!Produtoselecionado
          rs!Valência = Me!Valênciaselecionada
          rs!SerieImpressão = Me!Dataregisto
          rs!PVP = Me!txtPVP
          rs!PrecoCompra = Me!txtPrecoCompra
          rs!N_ProdutoGTE = Me!txtN_ProdutoGTE
          rs!Criadopor = getUsuarioAtual()
          rs!Criadoem = Now()
       rs.Update
       Randomize
       k = k + 1
       DoEvents
    Next
    MsgBox "Foram criados " & k & " registros...", vbInformation, "Aviso"
    Me!txTotal = Null
    Me!Produtoselecionado = Null
    Me!Valênciaselecionada = Null
        
    MsgBox "Foi gerada a seguinte serie de etiquetas - " & Me!Dataregisto, vbInformation, "Aviso"

    DoCmd.OpenReport "R_Etiqueta_para_produtos", acViewPreview, , "CDate(SerieImpressão) = #" & Me.Dataregisto & "#", acDialog

    Me!Produtoselecionado.SetFocus
    End Sub

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  JPaulo 9/11/2023, 10:22

    O que eu não entendi é se esse "Update" é uma variável, se for terá de alterar o nome, porque Update é uma palavra reservada do VBA.

    Código:
    Me!Dataregisto = Update

    Você quer enviar o seu banco, ou parte dele para o meu email (jpaulo65@gmail.com), que eu depois coloco aqui a solução ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Instruções SQL como utilizar...
    paulodaeira
    paulodaeira
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 02/10/2012

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  paulodaeira 9/11/2023, 23:13

    Olá Sr. João Paulo

    Obrigado desde já pela ajuda

    Junto parte da minha base de dados

    É estranho que esteve a funcionar bem durante muito tempo e depois do nada começou a dar problemas na parte da impressão. Não sei se foi algo que eu alterei e estragou ou alguma atualização da Microsoft Smile

    Cumprimentos
    Paulo
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  JPaulo 10/11/2023, 11:56

    Olá

    O campo "SerieImpressão" tem de estar presente no report, em modo oculto.
    Foi criada uma variavel para receber a data hora, que será formatada no criterio de abertura do report.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Instruções SQL como utilizar...
    paulodaeira
    paulodaeira
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 02/10/2012

    [Resolvido]Impressão - Relatório com filtro de datas Empty [Resolvido] Impressão - Relatório com filtro de datas

    Mensagem  paulodaeira 11/11/2023, 00:02

    Olá

    Já testei e parece-me que está a funcionar.

    Uma vez que tenho de atualizar o campo Dataregisto cada vez que carrego no botão btCriarRegistros, tive de manter o seguinte:

    Código:
    Me!Dataregisto = Update

    Isto porque pretendo que saiam apenas as etiquetas geradas naquele momento e assim não tenho de andar a fechar o formulário em cada produto

    para que funcionasse com a linha acima, tive de anular o seguinte:

    Código:
    Option Explicit

    será que vou ter problemas? ou sugere outra solução

    Obrigado pela grande ajuda

    Paulo Delgado
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  JPaulo 13/11/2023, 09:49

    Se você não quer seguir os conselhos de uma modelagem correta, vá em frente, mais tarde vai deixar de funcionar.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Instruções SQL como utilizar...
    paulodaeira
    paulodaeira
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 02/10/2012

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  paulodaeira 13/11/2023, 13:32

    Olá

    Eu não disse que não quero seguir os conselhos de uma modelagem correta, preciso é de atualizar a serie cada vez que emito etiquetas de um produto para que saiam na impressora apenas as etiquetas feitas naquele momento. Não queria obrigar o utilizador a fechar e abrir o formulário cada vez que faz um produto.

    Tive que apagar aquela linha porque com ela a parte de atualizar dava erro (parte que como já me tinha informado não estaria bem programado)

    Por isto é que lhe solicitei ajuda para me sugerir outra maneira que fizesse o mesmo obedecendo a uma modelagem correta

    Contudo, agradeço-lhe imenso a ajuda que me deu e que me resolveu o meu problema inicial

    Cumprimentos

    Paulo Delgado



    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  JPaulo 13/11/2023, 14:03

    Por isso lhe mostrei uma modelagem correta, porque você não necessita de ter uma caixa de texto desvinculada no form, para obter a data/hora da geração das etiquetas;

    No recordset aberto para adicionar, basta isto;
    Código:
    rs!SerieImpressão = Now()

    Na variavel que eu lhe criei, basta isto;
    Código:
    '**************************************************************************************************************************************
    'variavel que recebe a data hora
    dt = DLast("SerieImpressão", "T_Etiquetas_Saidas")
    'abre o relatorio filtrado pela data hora formatada
    DoCmd.OpenReport "R_Etiqueta_para_produtos", acViewPreview, , "[SerieImpressão] = #" & Format(dt, "mm-dd-yyyy hh:nn:ss") & "#", acDialog

    '**************************************************************************************************************************************
    Anexos
    [Resolvido]Impressão - Relatório com filtro de datas AttachmentEtiquetas_OLD_OLD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (82 Kb) Baixado 9 vez(es)


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Impressão - Relatório com filtro de datas Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Impressão - Relatório com filtro de datas Empty Re: [Resolvido]Impressão - Relatório com filtro de datas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 20:24