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

    [Resolvido]Loop dentro do Recordset

    marcelo3092
    marcelo3092
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 250
    Registrado : 19/08/2010

    [Resolvido]Loop dentro do Recordset Empty [Resolvido]Loop dentro do Recordset

    Mensagem  marcelo3092 18/6/2019, 23:49

    Boa noite pessoal estou precisando de uma ajudinha aqui com o recordset o que preciso e fazer um filtro para verificar em uma tabela mysql se o determinado valor ja exista na tabela se existi aparece mensagem informando se nao adiciona o valor.
    O que tenho e um formulario de produto e criei uma combox com os valores de 1 a 46 e tenho uma listbox que carrega os numeros que tao cadastrados, e coloquei um botao onde coloco essa função para verificar se ja esta adicionado o valor na tabela mysql


    Call Conexao_Open("select * from tblprodutos_numeracao where Cod_Produto = " & Me.Cod_Produto & ";")


    If Me.ListaNumeracao.Column(0) = Me.CbxNumeracao Then
    'tentei tambem Rs("NSapato")


    MsgBox "NUMERO JA EXISTE"

    Else

    Rs.AddNew
    Rs.Fields("Cod_Produto").Value = Me.Cod_Produto
    Rs.Fields("NSapato").Value = Me.CbxNumeracao
    Rs.Fields("Produto").Value = Me.Produto
    Rs.Update

    End If


    Rs.Close 'fecha o recorset
    cn.Close 'fecha o banco de dados


    Alguem pode da Uma maozinha desde já agradeço pessoal.
    avatar
    renpv
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Loop dentro do Recordset Empty Re: [Resolvido]Loop dentro do Recordset

    Mensagem  renpv 19/6/2019, 19:21

    marcelo3092 escreveu:preciso e fazer um filtro para verificar em uma tabela mysql se o determinado valor ja exista na tabela

    Não precisa usar recordset nem loop pra fazer isso, basta usar a função DCount

    Ex. contador = DCount("*", "tabelaDoBancoDeDados", "condiçãoDoTipoWhere"))
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 19/01/2011

    [Resolvido]Loop dentro do Recordset Empty Re: [Resolvido]Loop dentro do Recordset

    Mensagem  marcos_novack 19/6/2019, 21:08

    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Loop dentro do Recordset Empty Re: [Resolvido]Loop dentro do Recordset

    Mensagem  DamascenoJr. 20/6/2019, 00:31

    Grande, Marcos. Já ia indicar este tópico.


    .................................................................................
    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.
    marcelo3092
    marcelo3092
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 250
    Registrado : 19/08/2010

    [Resolvido]Loop dentro do Recordset Empty Re: [Resolvido]Loop dentro do Recordset

    Mensagem  marcelo3092 22/6/2019, 01:59

    Ola Pesoal Boa noite eu ate conheço o dcount dlookup..
    Porem meu problema esta relacionado a um banco de dados mysql online e os dados para comparação estao dentor de uma listbox o que queria fazer era percorrer a listbox mais precisamente na coluna 1, ao clicar no botão ele percorra todos os dados da listbox comparando com o valor da combox que vai de 1 a 46 e avendo o valor ja na listbox ele exibe uma mensagem que ja esta adicionado se não ele executa a adição, o que ocorre e que ele so compara o valor da listbox se estiver selecionado algum valor se não tiver ele não compara.
    Se alguem puder me ajudar seria no caso algo assim

    If me.combox = me.listbox then

    msgbox "valor ja existe"

    else

    'Rs.AddNew
    'Rs.Fields("Cod_Produto").Value = Me.Cod_Produto
    'Rs.Fields("NSapato").Value = Me.CbxNumeracao
    'Rs.Fields("Produto").Value = Me.Produto
    'Rs.Update

    end if

    Agradeço a atenção.
    Obrigado.
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 19/01/2011

    [Resolvido]Loop dentro do Recordset Empty REP:

    Mensagem  marcos_novack 22/6/2019, 23:43

    Boa Noite

    Seguinte, os dados que estão na listbox é uma tblListbox, os dados da combox é tblCombobox certo?

    Na minha visão deveria pensar nas tabelas e não nos objetos, já que esses dois objetos são apenas uma visão da tabela ok.


    Código:
    dim strFuncaoD 'Defina tipo

    strFuncaoD = DContX("Campo1", "Tbllistbox", "campo1='" & me.combobox & "'")

    If strFuncaoD > 0 then

    Msgbox "  A função Dcount encontrou " & strFuncaoD & " registro"

    Else

    'execute o código aqui...

    end if

    As funções do link que compartilhamos foram feitas para trabalhar com base de dados desvinculadas incluindo MySql também é só inserir a sua conexão com banco MySql.
    marcelo3092
    marcelo3092
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 250
    Registrado : 19/08/2010

    [Resolvido]Loop dentro do Recordset Empty Re: [Resolvido]Loop dentro do Recordset

    Mensagem  marcelo3092 22/6/2019, 23:52

    Ola amigo marcos ai que ta eles sao trazidos da base mysql da seguinte forma

    Public Sub CarregaNumeros()

    ListaNumeracao.RowSource = Empty
    ListaNumeracao.Requery


    sSQL = "SELECT Cod_Produto, NSapato, Estoque FROM tblprodutos_numeracao where Cod_produto=" & Me.Cod_Produto & " Order By NSapato Asc;"
    Call Conexao_Open(sSQL)

    Do While Not Rs.EOF
    ListaNumeracao.AddItem "" & Rs("Cod_Produto") & ";" & Rs("NSapato") & ";" & Rs("Estoque") & ""
    Rs.MoveNext
    Loop

    Rs.Close
    Set Rs = Nothing

    End Sub



    ela é alimentada.

    e a combox ela e definido não puxa de tabela do numero 1 ao 46 ta chumbado no codigo.

    a ideia ao escolher o numero na combox e clicar num botao ele percorrer a listbox e comparar com o numero da combox se for igual mensagem se for diferente adiciona.

    Ja ouvi falar da função listcount mais n sei como proceder.
    marcelo3092
    marcelo3092
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 250
    Registrado : 19/08/2010

    [Resolvido]Loop dentro do Recordset Empty Re: [Resolvido]Loop dentro do Recordset

    Mensagem  marcelo3092 23/6/2019, 00:56

    Estou tentando executar um for dentro do listbox porem sem successo.


    contador = 0

    For Linha = 0 To ListaNumeracao.ListCount - 1

    If ListaNumeracao.Column(Linha, 1) = Me.Texto253 Then
    contador = contador + 1
    Else
    ListaNumeracao.Selected(Linha) = False
    End If
    Next

    If contador < 1 Then
    MsgBox "nao existe"
    End If

    Se alguem puder da uma maozinha
    marcelo3092
    marcelo3092
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 250
    Registrado : 19/08/2010

    [Resolvido]Loop dentro do Recordset Empty Re: [Resolvido]Loop dentro do Recordset

    Mensagem  marcelo3092 23/6/2019, 01:46

    Ta ai pessoal a solução.


    contador = 0

    For Linha = 0 To ListaNumeracao.ListCount - 1

    If ListaNumeracao.Column(1, Linha) = Me.CbxNumeracao.Column(0) Then
    MsgBox "Numeração Já Existe.", vbInformation, Titulo
    ListaNumeracao.Selected(Linha) = True
    contador = contador + 1

    Else
    ListaNumeracao.Selected(Linha) = False
    End If
    Next

    If contador < 1 Then

    Call SALVAR_NUMERACAO
    Call CarregaNumeros

    End If

      Data/hora atual: 25/7/2021, 03:48