MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Transferir valores combobox para SQL

    Compartilhe

    ederli.picinatto
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 13/05/2016

    [Resolvido]Transferir valores combobox para SQL

    Mensagem  ederli.picinatto em Sex 19 Ago 2016, 20:54

    Boa tarde amigos, Estou fazendo um VBA para atualizar valores da tabela através de dos valores selecionados em uma combobox, mas ele nao está reconhecendo o valor dos IDs e não consigo identificar o problema.

    O combobox está ilustrado no anexo 1.

    E aqui o VBA:

    Código:
    Option Compare Database

    Private Sub btnSalvarEntrega_Click()

     Dim ctlSource As control
     Dim strItem As Integer
     Dim strItems As String
     Dim intCurrentRow As Integer
     Dim valorCheques As Currency
     Dim strSql As String
     Dim strParm As String
     
     Set ctlSource = Me.lstCheques
     
     If MsgBox("Tem certeza que deseja incluir os cheques selecionados na relação de entrega?", vbYesNo, "Confirmar Entrega") = vbYes Then
     
     strSql = "UPDATE tbl_cadCheques SET tbl_cadCheques.StatusCheque = 2 WHERE (tbl_cadCheques.ID_CadCheques) =" & strItem
     
     For intCurrentRow = 0 To ctlSource.ListCount - 1
     If ctlSource.Selected(intCurrentRow) Then
     strItem = CInt(ctlSource.Column(0, intCurrentRow))
     strItems = strItems & ctlSource.Column(0, _
     intCurrentRow) & ";"
     valorCheques = valorCheques + ctlSource.Column(2, intCurrentRow)
     DoCmd.RunSQL strSql
     End If
     Next intCurrentRow
     
     Me.txtValor = valorCheques
     
     End If
     
     MsgBox "Os cheques " & strItems & " no valor total de " & Format(valorCheques, "Currency") & " foram processados.", vbInformation, "Processo concluído com sucesso!"
     
     Set ctlSource = Nothing

    End Sub

    Ao rodar o VBA recebo uma mensagem que nenhuma linha será afetada. Testei o codigo digitando os ID direto no VBA e dessa forma ele encontra linhas para atualizar.

    Agradeço a ajuda!
    Anexos
    1.png
    Você não tem permissão para fazer download dos arquivos anexados.
    (11 Kb) Baixado 2 vez(es)

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2304
    Registrado : 14/08/2013

    Re: [Resolvido]Transferir valores combobox para SQL

    Mensagem  FabioPaes em Seg 22 Ago 2016, 13:46

    Amigo, coloca uma msgbox antes do Update...
    Msgbox StrItem

    Veja se estao correto os dados, pois acredito quando o update e executado a variavel c Numero do Cheque ainda nao tem Valor algum...


    Veja tambem nesse exemplo que fiz, para relatorio, porem o principio e o mesmo...
    [Você precisa estar registrado e conectado para ver este link.]

    Veja e adapte pro seu update...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    ederli.picinatto
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 13/05/2016

    Funcionou!

    Mensagem  ederli.picinatto em Seg 22 Ago 2016, 21:33

    Alterei o código, colocando a instrução depois do strItem e funcionou!

    Obrigado!!! coloco o código se alguém precisar:

    Código:
    Private Sub btnSalvarEntrega_Click()

     Dim ctlSource As control
     Dim strItem As Integer
     Dim strItems As String
     Dim intCurrentRow As Integer
     Dim valorCheques As Currency
     Dim strSql As String
     Dim strParm As String
     
     Set ctlSource = Me.lstCheques
     
     If MsgBox("Tem certeza que deseja incluir os cheques selecionados na relação de entrega?", vbYesNo, "Confirmar Entrega") = vbYes Then
     
     
     
     For intCurrentRow = 0 To ctlSource.ListCount - 1
     If ctlSource.Selected(intCurrentRow) Then
     strItem = CInt(ctlSource.Column(0, intCurrentRow))
     strItems = strItems & ctlSource.Column(0, _
     intCurrentRow) & ";"
     valorCheques = valorCheques + ctlSource.Column(2, intCurrentRow)
     strSql = "UPDATE tbl_cadCheques SET tbl_cadCheques.StatusCheque = 2 WHERE (tbl_cadCheques.ID_CadCheques) =" & strItem
     DoCmd.RunSQL strSql
     End If
     Next intCurrentRow
     
     Me.txtValor = valorCheques
     
     End If
     
     MsgBox "Os cheques " & strItems & " no valor total de " & Format(valorCheques, "Currency") & " foram processados.", vbInformation, "Processo concluído com sucesso!"
     
     Set ctlSource = Nothing

    End Sub

    FabioPaes
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2304
    Registrado : 14/08/2013

    Re: [Resolvido]Transferir valores combobox para SQL

    Mensagem  FabioPaes em Seg 22 Ago 2016, 22:42

    Bacana meu amigo, ate a proxima se Deus quiser...

    Nao esqueca de marcar o topico como resolvido...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    ederli.picinatto
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 13/05/2016

    Re: [Resolvido]Transferir valores combobox para SQL

    Mensagem  ederli.picinatto em Seg 22 Ago 2016, 23:01

    Beleza! Até a próxima!!

      Data/hora atual: Seg 05 Dez 2016, 04:24