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]Loop dentro do Recordset

    marcelo3092
    marcelo3092
    Avançado
    Avançado

    Respeito às Regras 100%

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

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

    Mensagem  marcelo3092 em Ter 18 Jun 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 100%

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

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

    Mensagem  renpv em Qua 19 Jun 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 100%

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

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

    Mensagem  marcos_novack em Qua 19 Jun 2019 - 21:08

    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  DamascenoJr. em Qui 20 Jun 2019 - 0: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 100%

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

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

    Mensagem  marcelo3092 em Sab 22 Jun 2019 - 1: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 100%

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

    [Resolvido]Loop dentro do Recordset Empty REP:

    Mensagem  marcos_novack em Sab 22 Jun 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 100%

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

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

    Mensagem  marcelo3092 em Sab 22 Jun 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 100%

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

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

    Mensagem  marcelo3092 em Dom 23 Jun 2019 - 0: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 100%

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

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

    Mensagem  marcelo3092 em Dom 23 Jun 2019 - 1: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: Ter 26 Maio 2020 - 23:38