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


4 participantes

    Cabeçalho do listbox carregando no Form.

    avatar
    Ricardo Oliveira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 08/08/2017

    Cabeçalho do listbox carregando no Form. Empty Cabeçalho do listbox carregando no Form.

    Mensagem  Ricardo Oliveira 25/9/2023, 22:20

    Olá pessoal, aprendendo ainda o vba, tenho um form com um listbox desacoplada e com a propriedade exiberCabeçalho 'sim', porém com eu clico na primeira linha da listabox carrega no formulário os dados do cabeçalho da listabox. como corrigir esse erro?

    abaixo meu código:

    Private Sub lstFrete_Click()
    With Me.lstFrete
    Dim selectedIndex As Long
    selectedIndex = .ListIndex

    Me.cbxFrete.Value = .Column(0, selectedIndex)
    Me.txtNViagem.Value = .Column(1, selectedIndex)
    Me.cbxFrete.Value = .Column(0, selectedIndex)
    Me.txtNViagem.Value = .Column(1, selectedIndex)
    Me.txtcpnj.Value = .Column(3, selectedIndex)
    Me.txtNomeCliente.Value = .Column(4, selectedIndex)
    Me.txtcelCliente.Value = .Column(6, selectedIndex)
    Me.txtData.Value = .Column(7, selectedIndex)
    Me.txtDtInicViag.Value = .Column(8, selectedIndex)
    Me.txtDtFimViag.Value = .Column(9, selectedIndex)
    Me.cboPreco.Value = .Column(10, selectedIndex)
    Me.txtFrNeg.Value = .Column(12, selectedIndex)
    Me.cboTipoVeic.Value = .Column(13, selectedIndex)
    Me.txtQtdeVolu.Value = .Column(14, selectedIndex)
    Me.txtCubagem.Value = .Column(15, selectedIndex)
    Me.txtPeso.Value = .Column(16, selectedIndex)
    Me.txtKmSaida.Value = .Column(17, selectedIndex)
    Me.txtKmChega = .Column(18, selectedIndex)
    Me.txtVrKm.Value = .Column(19, selectedIndex)
    Me.txtFrtPeso.Value = .Column(20, selectedIndex)
    Me.cboPlViagem.Value = .Column(22, selectedIndex)
    Me.cboIdColab.Value = .Column(24, selectedIndex)
    Me.txtNomeProprietario.Value = .Column(24, selectedIndex)
    Me.txtCelMotor.Value = .Column(25, selectedIndex)
    Me.StatusVeículo = (.Column(26, selectedIndex) = 0)
    Me.txtFrCubagem.Value = .Column(27, selectedIndex)

    End With
    End Sub

    Desde agradeço pela ajuda.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Cabeçalho do listbox carregando no Form. Empty Re: Cabeçalho do listbox carregando no Form.

    Mensagem  Alexandre Neves 26/9/2023, 10:36

    Bom dia
    Tente
    Código:

    Private Sub lstFrete_Click()
        If lstFrete.ListIndex > -1 Then
            With lstFrete
                cbxFrete.Value = .Column(0, .ListIndex)
                txtNViagem.Value = .Column(1, .ListIndex)
                cbxFrete.Value = .Column(0, .ListIndex)
                txtNViagem.Value = .Column(1, .ListIndex)
                txtcpnj.Value = .Column(3, .ListIndex)
                txtNomeCliente.Value = .Column(4, .ListIndex)
                txtcelCliente.Value = .Column(6, .ListIndex)
                TxtData.Value = .Column(7, .ListIndex)
                txtDtInicViag.Value = .Column(8, .ListIndex)
                txtDtFimViag.Value = .Column(9, .ListIndex)
                cboPreco.Value = .Column(10, .ListIndex)
                txtFrNeg.Value = .Column(12, .ListIndex)
                cboTipoVeic.Value = .Column(13, .ListIndex)
                txtQtdeVolu.Value = .Column(14, .ListIndex)
                txtCubagem.Value = .Column(15, .ListIndex)
                txtPeso.Value = .Column(16, .ListIndex)
                txtKmSaida.Value = .Column(17, .ListIndex)
                txtKmChega = .Column(18, .ListIndex)
                txtVrKm.Value = .Column(19, .ListIndex)
                txtFrtPeso.Value = .Column(20, .ListIndex)
                cboPlViagem.Value = .Column(22, .ListIndex)
                cboIdColab.Value = .Column(24, .ListIndex)
                txtNomeProprietario.Value = .Column(24, .ListIndex)
                txtCelMotor.Value = .Column(25, .ListIndex)
                StatusVeículo = (.Column(26, .ListIndex) = 0)
                txtFrCubagem.Value = .Column(27, .ListIndex)
            End With
        End If
    End Sub

    A declaração Dim deve ser fora do With (mas, neste caso, a varável é desnecessária)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Ricardo Oliveira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 08/08/2017

    Cabeçalho do listbox carregando no Form. Empty Cabeçalho do listbox carregando no Form.

    Mensagem  Ricardo Oliveira 13/10/2023, 19:16

    Boa tarde a todos.

    Agradeço desde já.

    abaixo refiz o código mas continua carregando cabeçalho no form.
    Private Sub lstFrete_Click()
    Dim IgnoreHeader As Boolean ' Declare a variável no escopo do Sub
       If Not IgnoreHeader Then
           With Me.lstFrete
               Dim selectedIndex As Long
               selectedIndex = .ListIndex
               
               If selectedIndex >= 0 Then
               Me.cbxFrete.Value = .Column(0, selectedIndex)
               Me.txtNViagem.Value = .Column(1, selectedIndex)
               Me.txtData.Value = .Column(2, selectedIndex)
               Me.cboCodCli.Value = .Column(3, selectedIndex)
               Me.txtcpnj.Value = .Column(4, selectedIndex)
               Me.txtNomeCliente.Value = .Column(5, selectedIndex)
               Me.txtTelCli.Value = .Column(6, selectedIndex)
               Me.txtcelCliente.Value = .Column(7, selectedIndex)
               Me.txtEndCli.Value = .Column(8, selectedIndex)
               Me.txtNumcli.Value = .Column(9, selectedIndex)
               Me.txtBairCli.Value = .Column(10, selectedIndex)
               Me.txtCidadeCli.Value = .Column(11, selectedIndex)
               'Me.cboPlacaVeic.Value = .Column(12, selectedIndex)
               Me.txtPlaca.Value = .Column(13, selectedIndex)
               Me.cboIdColab.Value = .Column(15, selectedIndex)
               Me.txtNomeProprietario.Value = .Column(16, selectedIndex)
               Me.txtCelMotor.Value = .Column(17, selectedIndex)
               Me.txtDtInicViag.Value = .Column(18, selectedIndex)
               Me.txtQtdeVolu.Value = .Column(19, selectedIndex)
               Me.txtPeso.Value = .Column(20, selectedIndex)
               Me.txtCubagem.Value = .Column(21, selectedIndex)
               Me.txtDtFimViag.Value = .Column(22, selectedIndex)
               Me.cboPreco.Value = .Column(23, selectedIndex)
               Me.txtFrCubagem.Value = .Column(25, selectedIndex)
               Me.txtVrKm.Value = .Column(26, selectedIndex)
               Me.txtFrtPeso.Value = .Column(27, selectedIndex)
               Me.txtKmSaida.Value = .Column(28, selectedIndex)
               Me.txtKmChega = .Column(29, selectedIndex)
               Me.txtKMRodado.Value = .Column(30, selectedIndex)
               Me.txtFrNeg.Value = .Column(31, selectedIndex)
               Me.opcStatusVeiculo = (.Column(32, selectedIndex) = 0)
               End If
         
           End With
       End If
       IgnoreHeader = False ' Redefina a variável após o processamento
    End Sub

    Private Sub lstFrete_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
       ' Verifique se o mouse está sobre o cabeçalho
       Dim headerHeight As Single
       headerHeight = Me.lstFrete.Top
       If Y <= headerHeight And Me.lstFrete.ListCount > -1 Then
           IgnoreHeader = True
       Else
           IgnoreHeader = False
       End If
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3217
    Registrado : 13/12/2016

    Cabeçalho do listbox carregando no Form. Empty Re: Cabeçalho do listbox carregando no Form.

    Mensagem  Alexandre Fim 13/10/2023, 19:36

    Olá Ricardo,

    Por gentileza, envie uma copia do seu bd, somente objetos (tabelas/formularios/consultas/modulos) envolvidos na questão, para análise e solução do problema.

    Valeu

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Cabeçalho do listbox carregando no Form. Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    abreuluiston
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 24/07/2023

    Cabeçalho do listbox carregando no Form. Empty Re: Cabeçalho do listbox carregando no Form.

    Mensagem  abreuluiston 13/10/2023, 21:43

    Pessoal, boa-tarde! Permitam-me fazer uma observação rápida.

    Quando utilizo a propriedade column de um listBox ou comboBox eu obtenho o valor desejado checando a propridade listindex +1 pq zero sempre será o cabeçalho, caso a propriedade de cabeçalho estiver ativa, como é o caso.

    Então, experimente fazer a seguinte alteração:

    selectedIndex = .ListIndex para
    selectedIndex = .ListIndex +1

    At.

    Conteúdo patrocinado


    Cabeçalho do listbox carregando no Form. Empty Re: Cabeçalho do listbox carregando no Form.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 07:50