MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    [Resolvido]Contagem de itens do Formulário para imprimir relatório

    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 29/04/2011

    [Resolvido]Contagem de itens do Formulário para imprimir relatório Empty [Resolvido]Contagem de itens do Formulário para imprimir relatório

    Mensagem  vinicius.anna em 15/6/2019, 14:16

    Bom dia

    Em meu formulário (em anexo a este) tenho os subformulários para inclusão de itens....., quando possível, preciso tentar usar meio papel A4 para impressão...., uso no botão "Visualizar" o código:

    Código:

    Private Sub btVisualizar_Click()
    On Error GoTo trataerro
    Dim strLogoUsa As Variant
    Dim strSeparaPecaServico As Variant
    Dim xTotal As Currency
    Dim filtroItem As Variant
    Dim regItem As Variant

    strLogoUsa = DLookup("empLogoUsa", "tbEmpresa")
    strSeparaPecaServico = DLookup("empSepServPec", "tbEmpresa")

        If IsNull(Forms!frmOrdem!idOrdem) Then Exit Sub
        
        xTotal = Nz(DSum("[valUnit]", "tbApontamentos", "[idOrcamento] =" & Me.idOrdem))
        Me!ordValFinal.Value = xTotal
        
        If IsNull(Me.idCliOrdem) = True Then
            MsgBox "Selecione o Cliente!!    " & vbCrLf & vbCrLf & "Preenchimento Obrigat?rio.", vbCritical, "Erro..."
            Me.idCliOrdem.SetFocus
            Exit Sub
        End If
        
        DoCmd.RunCommand acCmdSaveRecord
        
        filtroItem = "[idOrcamento]=" & Forms![frmOrdem]![idOrdem]
        regItem = DCount("idOrcamento", "tbApontamentos", filtroItem)
        
    If strSeparaPecaServico = "0" Then
        If (regItem) >= "4" Then
            If strLogoUsa = "-1" Then
                DoCmd.OpenReport "relOrdemServi?oNovo", acViewPreview, , "[Contador]=" & [Forms]![frmOrdem].[Contador]
            End If
            If strLogoUsa = "0" Then
                DoCmd.OpenReport "relOrdemServi?oNovoSL", acViewPreview, , "[Contador]=" & [Forms]![frmOrdem].[Contador]
            End If
        Else
            If strLogoUsa = "-1" Then
                DoCmd.OpenReport "relOrdemServi?oNovo_MA4", acViewPreview, , "[Contador]=" & [Forms]![frmOrdem].[Contador]
            End If
            If strLogoUsa = "0" Then
                DoCmd.OpenReport "relOrdemServi?oNovo_MA4SL", acViewPreview, , "[Contador]=" & [Forms]![frmOrdem].[Contador]
            End If
        End If
    End If

    If strSeparaPecaServico = "-1" Then
        If strLogoUsa = "-1" Then
            DoCmd.OpenReport "relOrdemServi?oNovoPS", acViewPreview, , "[Contador]=" & [Forms]![frmOrdem].[Contador]
        End If
        If strLogoUsa = "0" Then
            DoCmd.OpenReport "relOrdemServi?oNovoSLPS", acViewPreview, , "[Contador]=" & [Forms]![frmOrdem].[Contador]
        End If
    End If

    Exit_TrataErro:
        Exit Sub
    trataerro:
        Select Case err.Number
            Case 2110
                MsgBox "Corrija os Dados da Ordem de Servi?os.", vbOKOnly + vbCritical, "Erro"
                [Forms]![frmOrdem]![dtEntOrdem].enabled = True
                [Forms]![frmOrdem]![idCliOrdem].enabled = True
                [Forms]![frmOrdem]![idEqOrdem].enabled = True
                [Forms]![frmOrdem]![vePlaca].enabled = True
                [Forms]![frmOrdem]![Modelo].enabled = True
                [Forms]![frmOrdem]![ordCord].enabled = True
                [Forms]![frmOrdem]![idMec].enabled = True
                [Forms]![frmOrdem]![AcessorioOrdem].enabled = True
                [Forms]![frmOrdem]![DefeitoOrdem].enabled = True
                [Forms]![frmOrdem]![vePlaca].enabled = True
                [Forms]![frmOrdem]![sfrmItensApontamentoNovo].enabled = True
                [Forms]![frmOrdem]![idCliOrdem].SetFocus
            Case Else
                MsgBox "Erro: " & err.Number & vbCrLf & err.Description, vbCritical, "Aviso - Visualizar O. S.", _
                err.HelpFile, err.HelpContext
        End Select
        Resume Exit_TrataErro:

    End Sub


    Para contar os itens lançados uso (nó código):

    Código:

         filtroItem = "[idOrcamento]=" & Forms![frmOrdem]![idOrdem]
         regItem = DCount("idOrcamento", "tbApontamentos", filtroItem)

    Ocorre que, quando houver mais de 4 itens lançados, uso o código:

    Código:

        If (regItem) >= "4" Then
            If strLogoUsa = "-1" Then
                DoCmd.OpenReport "relOrdemServi?oNovo", acViewPreview, , "[Contador]=" & [Forms]![frmOrdem].[Contador]
            End If
            If strLogoUsa = "0" Then
                DoCmd.OpenReport "relOrdemServi?oNovoSL", acViewPreview, , "[Contador]=" & [Forms]![frmOrdem].[Contador]
            End If

    e quando for menos de 4 itens, entro no else...., porém, quando tenho 3 lançamentos por exemplo, são apresentados apenas 2 itens na visualização.

    Alguém tem alguma dica de onde possa estar errando ou alguma dica de como posso corrigir isto?

    em anexo disponibilizo modelo em access 2007

    Att.
    Vinicius
    Anexos
    [Resolvido]Contagem de itens do Formulário para imprimir relatório Attachmentteste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (243 Kb) Baixado 9 vez(es)


    Última edição por vinicius.anna em 15/6/2019, 14:18, editado 1 vez(es) (Razão : Complemento de informação)
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 12/01/2015

    [Resolvido]Contagem de itens do Formulário para imprimir relatório Empty Re: [Resolvido]Contagem de itens do Formulário para imprimir relatório

    Mensagem  renpv em 16/6/2019, 00:24

    No subformulário que está na seção detalhe do relatório. A propriedade "Pode ampliar" deve ser "sim"
    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 29/04/2011

    [Resolvido]Contagem de itens do Formulário para imprimir relatório Empty Re: [Resolvido]Contagem de itens do Formulário para imprimir relatório

    Mensagem  vinicius.anna em 19/6/2019, 20:36

    Boa tarde

    Muito obrigado.

    Att.
    Vinicius

    Conteúdo patrocinado

    [Resolvido]Contagem de itens do Formulário para imprimir relatório Empty Re: [Resolvido]Contagem de itens do Formulário para imprimir relatório

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/11/2019, 16:30