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]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)
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3330
    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
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3330
    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: Qui 21 Set 2017, 20:36