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]Gravar dados na tabela por uma caixa de listagem não associada

    dailton_c
    dailton_c
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 25/02/2012

    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Empty [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada

    Mensagem  dailton_c 31/1/2020, 14:35

    Bom dia,

    Novamente preciso de ajuda.
    Tenho um formulário vendas onde gravo os pedidos.
    Criei uma caixa de listagem não associada e agora quando mando gravar o pedido ele retorna com erro e não esta gravando.
    Se alguém puder me ajudar já agradeço.
    Segue em anexo BD.
    Anexos
    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Attachmentteste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (446 Kb) Baixado 11 vez(es)
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Empty Re: [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada

    Mensagem  DamascenoJr. 1/2/2020, 01:19

    O erro está no procedimento GravaItensPedido. Copiei ela do seu arquivo e colei aqui deixando apenas alguns pontos. Segue abaixo com apontamento dos erros para você entender e corrigi-los.

    Código:
    ...
    'no início do módulo que há por trás do formulário há uma instrução
    'que diz que todas as variáveis contidas no módulo serão declaradas
    'é a instrução da linha abaixo. Contanto que você respeite a regra que essa instrução impõe, ok. Tudo certo.
    Option Explicit

    ...

    'início do seu procedimento. Ok. Tudo certo.
    'se esse procedimento for usado somente neste formulário
    'então poderia trocar o "Public" por "Private"
    Public Sub GravaItensPedido()
    ...

            'essa instrução de seleção informa que o conjunto de registros
            'a ser aberto é o da tabela tblpedidosdetalhe. Ok. Tudo certo.
            sSql = "SELECT * FROM tblpedidosdetalhe WHERE  IdPedido = 0"

            ...
     
            'Aqui há um erro!
            'você faz uso de uma variável que não está declarada.
            'quebrando a regra estabelecida pela instrução "Option Explicit" do início do módulo
            'Ou você remove a linha "Option Explicit" - Não recomendado
            'Ou declara a variável no início do seu procedimento usando  -->> Dim i as long
            For i = 1 To .ListCount - 1

                ...

                'veja a repetição do "Value"
                RS("IdPedido") = txtIdPedido.Value.Value 'o .Value deveria existir apenas uma vez

                ...

                'aqui você atribui um valor ao campo "qtdevenda"
                'porém na tabela tblpedidosdetalhe não existe um campo com este nome
                'não deveria ser "quant"?
                RS("qtdevenda") = .Column(3, i)

              ...

    End Sub

    ...

    Outro ponto. Você inicia essa Function
    Código:
    Private Function fnValidaProdutos() As Boolean

    ...

    'depois finaliza a function. Ok. Tudo certo.
    End Function

    'mas em seguida finaliza um Sub (procedimento).
    'essa linha deve ser removida já que nenhum procedimento foi iniciado
    End Sub

    Espero que as dicas ajudem para entender o que faz cada linha e permita um melhor entendimento do código.
    Bons estudos.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    dailton_c
    dailton_c
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 25/02/2012

    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Empty Re: [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada

    Mensagem  dailton_c 1/2/2020, 21:08

    Boa tarde,
    Damasceno

    Já fiz a alteração e muito obrigado pela ajuda.
    Não aproveitando de sua boa vontade, já aproveitando
    Como eu faço para ter um valor total do pedido e a quantidade de itens do pedido? por esta lista.
    Já tentei fazendo uma consulta e não consegui!
    Tem outra forma?

    Sem mais e desde já muito agradecido
    dailton_c
    dailton_c
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 25/02/2012

    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Empty Re: [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada

    Mensagem  dailton_c 2/2/2020, 00:16

    Boa noite Damasceno,

    Depois de quase fundir a cabeça consegui fazer as somas das lista e contas os itens.

    Somar

    Private Sub SomaLista()
    Dim Soma As Single
    Dim K As Integer
    For K = 1 To lstProdutos.ListCount - 1
    Soma = Soma + lstProdutos.Column(5, K)
    Next K
    Me.SomaCo = Soma

    End Sub

    Contar
    Private Sub ContaLista()
    Dim Count As Single
    Dim K As Integer
    For K = 1 To lstProdutos.ListCount - 1
    Count = Count + lstProdutos.Column(3, K)
    Next K
    Me.SomaItem = Count

    Muito Obrigado novamente pela ajuda..
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Empty Re: [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada

    Mensagem  DamascenoJr. 2/2/2020, 00:25

    Parabéns pela evolução.

    Faltou dar o tópico como resolvido.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    dailton_c
    dailton_c
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 25/02/2012

    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Empty Re: [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada

    Mensagem  dailton_c 2/2/2020, 11:56

    Bom dia,

    Tinha esquecido..de dar o resolvido

    Muito obrigado pela ajuda.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Empty Re: [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada

    Mensagem  DamascenoJr. 2/2/2020, 14:48

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado


    [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada Empty Re: [Resolvido]Gravar dados na tabela por uma caixa de listagem não associada

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 10:50