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]Gravar dados em uma tabela que existam em outra

    avatar
    edjr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 22/03/2012

    [Resolvido]Gravar dados em uma tabela que existam em outra Empty [Resolvido]Gravar dados em uma tabela que existam em outra

    Mensagem  edjr 22/6/2012, 21:29

    Tenho 2 tabelas:

    TblClientes
    TblMovimento

    Qual o código no formulário para só aceitar gravar na TblMovimento os clientes que já são cadastrados na TblClientes?


    Última edição por criquio em 24/6/2012, 18:46, editado 1 vez(es) (Motivo da edição : Converter o título para letras minúsculas, pois texto todo em maiúsculas significa gritar na Internet.)
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Gravar dados em uma tabela que existam em outra Empty Re: [Resolvido]Gravar dados em uma tabela que existam em outra

    Mensagem  criquio 22/6/2012, 21:47

    Talvez tenha que alterar a estrutura do seu aplicativo. Pois, normalmente, a tblMovimento deveria ter um relacionamento com a tblClintes. Basta esse relacionamento para que tudo funcione certinho.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    edjr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 22/03/2012

    [Resolvido]Gravar dados em uma tabela que existam em outra Empty Re: [Resolvido]Gravar dados em uma tabela que existam em outra

    Mensagem  edjr 22/6/2012, 21:57

    Não queria fazer por integridade referncial, já que eu queria por uma caixa de mensagem que o CLIENTE NÃO ESTÁ CADASTRADO!

    Se ele estiver, eu coloco esta rotina:

    Dim db As Database
    Dim rs As Recordset

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("TblClientes")

    Do Until rs.EOF
    If (Me!cliente = rs!cliente) Then
    Beep
    MsgBox "Cliente Já Cadastrado", , "CADASTRAR CLIENTE"
    Exit Sub
    Else
    rs.MoveNext
    End If
    Loop

    Agora, como ficaria um código parecido com esse no formulário de movimento pra informar que o cliente não está cadastrado, fazendo referência à TblClientes?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Gravar dados em uma tabela que existam em outra Empty Re: [Resolvido]Gravar dados em uma tabela que existam em outra

    Mensagem  criquio 22/6/2012, 22:06

    Você precisa de um dado exclusivo, como por exemplo o CPF. O nome pode dar problemas, uma vez que pode ter mais de um pessoa com mesmo nome e até mesmo a mesma assinatura. Para fazer a consulta, pode utilizar várias formas, entre elas:

    Dim db As Database
    Dim rs As Recordset

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("SELECT * FROM TblClientes WHERE CPF='" & Me.CPF & "'")

    If rs.RecordCount < 1 Then
    MsgBox "Cliente ainda não cadastrado", vbCritical, "Atenção"
    End If

    Do Until rs.EOF
    If (Me!cliente = rs!cliente) Then
    Beep
    MsgBox "Cliente Já Cadastrado", , "CADASTRAR CLIENTE"
    Exit Sub
    Else
    rs.MoveNext
    End If
    Loop

    ' Não se esquecer de fechar os RecordSet e Database
    rs.Close
    db.Close

    ' Não se esquecer de limpá-los da memória:
    Set rs = Nothing
    Set db = Nothing


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    edjr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 22/03/2012

    [Resolvido]Gravar dados em uma tabela que existam em outra Empty Não deu Certo!!!

    Mensagem  edjr 22/6/2012, 22:34

    Um pouco mais das informações que eu estou trabalhando:

    CAMPOS DO FORMULARIO
    CPF
    CLIENTE (Já vem automático pelo CPF)
    Valor da compra

    Botão Gravar:
    Private Sub btGravar_Click()
    If isnull(me!cpf) then
    Msgbox “CPF Não Pode ficar vazio”,vbcritical, “CADASTRAR MOVIMENTO”
    Elseif isnull(me!compra) then
    Msgbox “Valor da Compra Não Pode ficar vazio”,vbcritical, “CADASTRAR MOVIMENTO”
    Else
    Dim db as database
    Dim rs as recorset

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("TblMovimento")

    rs.AddNew
    rs!cpf = Me!cpf
    rs!cliente = Me!cliente
    rs!compra = Me!compra
    rs.Update

    rs.Close
    db.Close

    Beep
    MsgBox "Compra Realizada Com Sucesso!”, vbInformation, "COMPRA REALIZADA"

    Queria que ele buscasse nos cpf já cadastrados e me informasse apenas se este cpf NÃO ESTÁ CADASTRADO na TBlClientes.

    Mas, mesmo assim: Obrigado pelo post anterior!
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Gravar dados em uma tabela que existam em outra Empty Re: [Resolvido]Gravar dados em uma tabela que existam em outra

    Mensagem  criquio 22/6/2012, 23:27

    É exatamente isso. Veja a linha do Set rs:

    Set rs = db.OpenRecordset("SELECT * FROM TblClientes WHERE CPF='" & Me.CPF & "'")

    Veja que ela irá filtrar registros cujo CPF seja igual ao digitado no campo CPF (Me.CPF) do formulário.
    O rs.RecordCount conta o número de registros que satisfaça esse filtro. Se for menor que 1, exibe a mensagem dizendo que ainda não está cadastrado. O resto, é questão de adaptação.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    edjr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 22/03/2012

    [Resolvido]Gravar dados em uma tabela que existam em outra Empty RESOLVIDO!

    Mensagem  edjr 24/6/2012, 16:02

    Gostaria de agradecer pela informação!

    Coloquei para chamar a Tabela após atualizar o campo:
    Private Sub categoria_AfterUpdate()

    Dim db As Database
    Dim rs As Recordset

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("SELECT * FROM TblCategorias WHERE Categoria='" & Me.categoria & "'")

    If rs.RecordCount < 1 Then
    MsgBox "CPF ainda não cadastrado!", vbCrytical, "PROJETO" Then
    Me!CPF = Null
    End If
    Mais uma vez, obrigado!
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Gravar dados em uma tabela que existam em outra Empty Re: [Resolvido]Gravar dados em uma tabela que existam em outra

    Mensagem  criquio 24/6/2012, 18:45

    Então resolveu? Só não se esqueça de fechar o Recordset e o Database e liberar a memória conforme mencionei mais acima.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    [Resolvido]Gravar dados em uma tabela que existam em outra Empty Re: [Resolvido]Gravar dados em uma tabela que existam em outra

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 16:53