Humm Postado Julho 2, 2007 Denunciar Share Postado Julho 2, 2007 to querendo uma rotina aqui mas n to me achando numa coisa..tenho um form Produtosno campo Referencia, quero que após digitar e dar enter, ele verifique se esse codigo já existe.se existir, então ele cancela o dado entrado e vai para esse registro. tipo localizar ou docmd.findrecordse não, ele continua o cadastramento.como se faz isso?Private Sub REF_BeforeUpdate(Cancel As Integer) If Not IsNull(DLookup("[REF]", "PRODUTOS", "[REF]=" & Me.REF)) Then ????? ????? End If End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Humm Postado Julho 3, 2007 Autor Denunciar Share Postado Julho 3, 2007 isso deve ser bem dificil então Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Julho 3, 2007 Denunciar Share Postado Julho 3, 2007 Fera seguinte eu tive que fazer algo semelhante mais no meu caso para busca de processos, então eu criei uma caixa de texto não acoplada onde eu informo o numero e ocultei a caixa codProcesso e toda que vez que digito um processo diferente já faz a validação e quando encontra ele move para o registro encontrado veja a seguir: If Not IsNull(DLookup("[numero]", "procExiste")) Then Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[numero]='" & Me.tstProc & "'" Me.Bookmark = rs.Bookmark Else Me.numero.Value = Me.tstProc End IfAcho que no seu caso poderia ficar mais ou menos assim:If Not IsNull(DLookup("[REF]", "PRODUTOS", "[REF]=" & Me.REFtxt)) Then Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[ref]='" & Me.reftxt & "'" Me.Bookmark = rs.BookmarkElse Me.ref.Value = Me.reftxtEnd IfBom imaginando a minha solução, eu ocultaria a caixa de texto REF e criaria uma não acoplada "reftxt" acho que isso resolve, confirme pra nós! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Humm Postado Julho 3, 2007 Autor Denunciar Share Postado Julho 3, 2007 Fera seguinte eu tive que fazer algo semelhante mais no meu caso para busca de processos, então eu criei uma caixa de texto não acoplada onde eu informo o numero e ocultei a caixa codProcesso e toda que vez que digito um processo diferente já faz a validação e quando encontra ele move para o registro encontrado veja a seguir: If Not IsNull(DLookup("[numero]", "procExiste")) Then Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[numero]='" & Me.tstProc & "'" Me.Bookmark = rs.Bookmark Else Me.numero.Value = Me.tstProc End IfAcho que no seu caso poderia ficar mais ou menos assim:If Not IsNull(DLookup("[REF]", "PRODUTOS", "[REF]=" & Me.REFtxt)) Then Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[ref]='" & Me.reftxt & "'" Me.Bookmark = rs.BookmarkElse Me.ref.Value = Me.reftxtEnd IfBom imaginando a minha solução, eu ocultaria a caixa de texto REF e criaria uma não acoplada "reftxt" acho que isso resolve, confirme pra nós!fera! pior que eu pensei nisso hehehe em ao invez de usar o controle diretamente, usar uma caixa de texto desacoplada so pra capturar o texto.até porque eu tentei fazer rotinas, mas no momento que jogo um me.ref.undo ou cancel = true ele apaga o valor e ai n da pra seguir pra um localizar recordsetvou tentar assim.. valeu pela atencao Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Julho 4, 2007 Denunciar Share Postado Julho 4, 2007 Resolveu? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Humm Postado Julho 4, 2007 Autor Denunciar Share Postado Julho 4, 2007 (editado) fiz aqui esse procedimento mas ainda não deu certo.. assim que digito um codigo existente, os subformularios exibem dados vinculados mas o form principal ainda fica em branco..to dando uma olhada mais a fundo.. depois retorno o resultadodepois:é não da certo.. assim que eu digito mesmo numa caixa não acoplada, o access já subentende que esse registro está sendo editado.ai ele da msgs de erro dizendo que o procedimento está impedindo de salvar dados e não prossegue. além do mais, no criteiro do recordset ele indica campos incompativeis. ai eu troqueo o "=" por LIKEeu acho que a forma correta de fazer isso é, assim que eu dou enter ele roda o before updatelogo, ele deveria armazenar o valor digitado temporariamente numa variavel, realizar um "cancel = true" ou "me.undo" pra liberar aquele registro em questao, ai sim rodar o IFcomo poderiamos fazer isso? tem como capturar o valor de um campo para a memoria e ai da undo na caixa? e então trabalhar com esse valor capturado? Editado Julho 4, 2007 por Humm Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Julho 5, 2007 Denunciar Share Postado Julho 5, 2007 Fera esse procedimento funciona perfeitamente aqui, tenho algumas aplicaçõe e funcionam bem, no caso de armazenar valores temporariamente você poderia utilizar umas variaveis locais ou publicas para isso! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Gteubl -- Postado Julho 17, 2007 Denunciar Share Postado Julho 17, 2007 Olá,Eu fiz um banco de dados para a minha empresa e estou tentando aproveitar o código de Vocês, porém, não funciona.Autor = campo no forumulário acoplado à tabela "ACOES JUR", campo "AUTOR"Tabela = ACOES JUR (nesta tabela os nomes estão no campo Autor)Nome = campo no forumuário não acompladoVeja o código que estou tentando fazer:If Not IsNull(DLookup("[Autor]", "[ACOES JUR]", "[Autor]=" & Me.Nome)) ThenDim rs As ObjectSet rs = Me.Recordset.Cloners.FindFirst "[Autor]='" & Me.Nome & "'"Me.Bookmark = rs.BookmarkElseMe.Autor.Value = Me.NomeEnd IfEnd SubO que está errado ?Só para esclarecer, eu pretendo fazer o mesmo que o nosso amigo ou seja:Toda vez que eu for colocar um nome novo, ele verificará se o nome já existe:1) Se existir, irá para o registro2) Se não existir, criar-se-á um novo registro.Desde já agradeço ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Humm Postado Julho 17, 2007 Autor Denunciar Share Postado Julho 17, 2007 aqui também não funciona.. mas diga qual erro que dá ai Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --GTeubl -- Postado Julho 17, 2007 Denunciar Share Postado Julho 17, 2007 Aqui aparece a seguinte mensagem de erro:"Erro em tempo de execução '2001:'Você cancelou a operação anterior."[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Julho 17, 2007 Denunciar Share Postado Julho 17, 2007 Ummmm... num entendo com pode não está funcionando, bom se puderem postem seus bancos que vou dar um jeito de ver... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Humm Postado Julho 17, 2007 Autor Denunciar Share Postado Julho 17, 2007 cara meu bd ta meio grande heheh.. acho que com uns 10mbs..se você puder postar um exemplo com essa funcao.. porque aqui da exatamente o mesmo erro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Julho 17, 2007 Denunciar Share Postado Julho 17, 2007 Fera eu até posto um exemplo mais no momento estou meio cheio e sem tempo de preparar mais assim que desafogar eu faço um e posto, toh vindo só pra ver como estão os tópicos e quando esquento a cabeça com o que toh fazendo...rsrsrs:) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Gteubl -- Postado Julho 18, 2007 Denunciar Share Postado Julho 18, 2007 Mestre,Eu não estou conseguindo fazer o registro no fórum.O e-mail de confirmação não está no anti-apam nem na caixa de entrada.Tentei enviar um e-mail para Vocês, forum@scriptbrasil.com.br porém não sei se Vocês receberam.O meu login é Gteubl e meu e-mail é guilherme@lenoxxsound.com.brPs. Peço desculpas por estar pedindo isto por meio de post, mas não tenho outra forma de comunicar-me com Vocês, assim, peço por gentileza que apague este post tão logo receber esta mensagem. Muito Obrigado ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Julho 18, 2007 Denunciar Share Postado Julho 18, 2007 Ok Guilherme entrei em contato com a equipe da SB e sua conta foi aprovada, seja bem vindo a comunidade... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GTeubl Postado Julho 19, 2007 Denunciar Share Postado Julho 19, 2007 Obrigado, MrMALJ !Alguém tem uma dica de como fazer parar postar o meu BD ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Julho 19, 2007 Denunciar Share Postado Julho 19, 2007 Somente membros da equipe SB podem postar direto, no seu caso upe ele pra um dos servers como rapidshare ou outro então post o link! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Humm
to querendo uma rotina aqui mas n to me achando numa coisa..
tenho um form Produtos
no campo Referencia, quero que após digitar e dar enter, ele verifique se esse codigo já existe.
se existir, então ele cancela o dado entrado e vai para esse registro. tipo localizar ou docmd.findrecord
se não, ele continua o cadastramento.
como se faz isso?
Link para o comentário
Compartilhar em outros sites
16 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.