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


2 participantes

    [Resolvido]repetição de Dados

    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty [Resolvido]repetição de Dados

    Mensagem  Convidado 10/10/2012, 12:14

    boas,
    tenho um form baseado numa tabela ( Funcionários ) ao lançar novos Funcionários pretendia que ao digitar o Numero deste ( ex/ 20 ) e se esse Número estivesse registado desse esse retorno para assim evitar duplicidade de dados... pesquisei no forum mas não consegui entender os exemplos...
    Obrigado
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 10/10/2012, 12:51

    Bom dia Marco!

    Na sua tabela tem uma chave primária?

    Se já tiver faça uso da função DCount no seu form no evento antes de atualizar do seu campo.

    le_lo28
    le_lo28
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 13/07/2011

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  le_lo28 10/10/2012, 12:54

    Olá existem algumas formas para fazer o que deseja, como nosso amigo Leandro colocou, você tb pode usar a função DLookup para verificar se o registro existe.

    Veja o exemplo do mestre Osmar.

    Abra o forms cliente no modo desing e veja o código que está no evento antes de atualizar da caixa de texto cod. do cliente.

    Bom estudo!
    Anexos
    [Resolvido]repetição de Dados AttachmentMostraExistente.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (59 Kb) Baixado 27 vez(es)


    .................................................................................
    [Resolvido]repetição de Dados Assinaturacross
    M@rcelo
    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 10/10/2012, 13:03

    boas,
    Leandro tenho sim, mas n/ apanhei como fazer... HELP !
    Irei ver o EX do mestre . . .
    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 10/10/2012, 13:05

    boas,
    coloquei assim e da erro :

    Private Sub Numero_BeforeUpdate(Cancel As Integer)
    If (Not IsNull(DLookup("[NUmero]", "T_Funcionarios", _
    "[Numero] ='" & Me!Numero & "'"))) Then
    MsgBox "Funcionario Registado", _
    vbInformation, "Funcionario Registado"
    End If
    End Sub
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 10/10/2012, 13:15

    E assim:

    Private Sub Numero_BeforeUpdate(Cancel As Integer)
    If DCount("[NUmero]", "T_Funcionarios", _
    "[Numero] =" & Me!Numero))) Then
    MsgBox "Funcionario Registado", _
    vbInformation, "Funcionario Registado"
    End If
    End Sub


    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 10/10/2012, 14:05

    Da erro na mesma . . .
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 10/10/2012, 14:18

    Veja o exemplo:


    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 10/10/2012, 14:33

    No seu funciona direito a mim da-me o seguinte erro :
    bla bla bla o access não consegue localiza o campo txtNumero referido na sua expressão
    run time error 2465
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 10/10/2012, 14:36

    Tem como postar a parte em questão do seu banco?

    Em access 2000 de preferência.

    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 10/10/2012, 14:53

    Ele ai . . .

    https://dl.dropbox.com/u/37350411/C%C3%B3pia%20de%20GestaoDados%20v1.0.rar

    Form F_Funcionarios, depois Numero de Funcionario
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 10/10/2012, 15:50

    Marco, altere seu código para esse:

    Private Sub Numero_BeforeUpdate(Cancel As Integer)
    If DCount("[Numero]", "t_funcionarios", "[Numero]=" & Me!Numero) > 0 Then
    MsgBox "Duplicidade"
    Cancel = True
    End If
    End Sub

    O nome do seu form estava errado.


    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 10/10/2012, 15:55

    E para ficar mais informativo, coloque esse código:

    Private Sub Numero_BeforeUpdate(Cancel As Integer)
    Dim strNome As String
    strNome = DLookup("[Nome]", "t_funcionarios", "[Numero]=" & Me!Numero)
    If DCount("[Numero]", "t_funcionarios", "[Numero]=" & Me!Numero) > 0 Then
    MsgBox "Duplicidade" & vbCrLf & "Esse número já foi cadastrado para : " & vbCrLf & strNome
    Cancel = True
    End If
    End Sub

    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 10/10/2012, 16:59

    ui . . . 5 Estrelas ! Grande Leandro...
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 10/10/2012, 17:32

    Obrigado pelo retorno Marco!
    Uma boa tarde aqui do Brasil! rsrs

    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 11/10/2012, 09:37

    boas,
    esta a dar erro Grande Leandro . . .
    run time error "94" invalid use of null
    se fizer debug coloca a linha - strNome = DLookup("[Nome]", "t_funcionarios", "[Numero]=" & Me!Numero) - em amarelo

    Isto ao criar um Novo Registo

    -

    Private Sub Numero_BeforeUpdate(Cancel As Integer)

    Dim strNome As String
    strNome = DLookup("[Nome]", "t_funcionarios", "[Numero]=" & Me!Numero)
    If DCount("[Numero]", "t_funcionarios", "[Numero]=" & Me!Numero) > 0 Then
    MsgBox "Funcionário Duplicado" & vbCrLf & "Número Utilizado : " & vbCrLf & strNome
    Cancel = True
    End If

    End Sub

    -
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 11/10/2012, 12:18

    Marco mude a variável para Integer e use a Nz também.

    Private Sub Numero_BeforeUpdate(Cancel As Integer)

    Dim strNome As Integer
    intNome = Nz(DLookup("[Nome]", "t_funcionarios", "[Numero]=" & Me!Numero),0)
    If DCount("[Numero]", "t_funcionarios", "[Numero]=" & Me!Numero) > 0 Then
    MsgBox "Funcionário Duplicado" & vbCrLf & "Número Utilizado : " & vbCrLf & strNome
    Cancel = True
    End If

    End Sub


    le_lo28
    le_lo28
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 13/07/2011

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  le_lo28 11/10/2012, 12:45

    O fórum agradece pelo retorno!

    Valeu,


    .................................................................................
    [Resolvido]repetição de Dados Assinaturacross
    M@rcelo
    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 11/10/2012, 12:51

    Grande Leandro... Funciona, mas agora da o seguinte quando colocamos um Número que esteja gravado da que o Numero esta utilizado, mas no Número 0
    ou seja não diz o Numero 20 por ex e o nome da pessoa...
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Leandro 11/10/2012, 17:59

    Marco, erro meu, numa variável de texto não dá para usar o Nz, nem precisava ter colocado isso, daria erro notoriamente e eu não prestei atenção, desculpe-me.

    Então:

    Private Sub Numero_BeforeUpdate(Cancel As Integer)

    Dim strNome As String
    intNome = DLookup("[Nome]", "t_funcionarios", "[Numero]=" & Me!Numero)
    If DCount("[Numero]", "t_funcionarios", "[Numero]=" & Me!Numero) > 0 Then
    MsgBox "Funcionário Duplicado" & vbCrLf & "Número Utilizado : " & vbCrLf & intNome
    Cancel = True
    Else
    Exit Sub
    End If

    End Sub


    Abraço


    avatar
    Convidado
    Convidado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Convidado 13/10/2012, 12:52

    beleza . . . ok - Grande Leandro

    Conteúdo patrocinado


    [Resolvido]repetição de Dados Empty Re: [Resolvido]repetição de Dados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 07:20