MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [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 : 193
    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 11 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 : 318
    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 : 193
    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

      Data/hora atual: 5/8/2020, 17:41