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

4 participantes

    [Resolvido]Inserir dados em campo vazio...

    avatar
    Marcelov2008
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados em campo vazio... Empty [Resolvido]Inserir dados em campo vazio...

    Mensagem  Marcelov2008 25/1/2011, 21:15

    Olá para todos,
    Tenho uma Tab1 com os campos USE - Data - EM - SM - ET - ST - EE - SE ( os campos correspondem respectivamente a Usuário, data, entrada manhã, entrada tarde... saida extra.). Ao inserir os dados(através de cod. de barras) será preenchido o campo USE com um código previamente cadastrado em outra tabela e também serão preenchidos os campo Data e EM (Data/Horário atual). Será que tem como o preenchimento ser sucessivo nos demais campos, ou seja cada vez que o usuário fizer o registro o sistema prencher sucessivamente o campo que estiver vazio??? Espero ter conseguido me explicar...
    Abraços.
    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]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  criquio 25/1/2011, 21:57

    Não ficou muito claro. Se tem um dado padrão para cada campo, você pode colocar uma condição If:

    If IsNull(Me.NomeCampo1) Or Me.NomeCampo1.Value = "" Then
    Me.NomeCampo1 = ...
    ElseIf IsNull(Me.NomeCampo2) Or Me.NomeCampo2.Value = "" Then
    Me.NomeCampo2 = ...
    ...
    End If


    .................................................................................
    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
    Marcelov2008
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Marcelov2008 26/1/2011, 21:37

    Valeu pela dica criquio, mas só insere dados no primeiro registro da tabela independente do Usuario que faz o registro, ou seja ao inserir o codigo(Usuário) deveria registrar no campo vazio correspondente....outra coisa se não for abusar, tem como ao mudar a data do sistema ser inserido uma novo registro com Usuario - Data(atual)...

    Se puder me ajudar agradeço...

    Marcelo
    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]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  criquio 26/1/2011, 22:21

    Não entendi bem o que precisa. Você precisa preencher registros de uma tabela sem ser o registro atual em um formulário?


    .................................................................................
    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
    Marcelov2008
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Marcelov2008 27/1/2011, 11:14

    Sim é isso, deixa eu ver se consigo explicar melhor: o sistema que estou tentando fazer é de controle de frequência de funcionários, e será usado para registrar o ponto diário de cada um através de um cracha com código de barras, o formulario ficará aberto e ao ser lido o cod. de barras deverá prencher a tabela acima, no caso se não tiver registro daquela data do usuário esse deverá ser criado (com data atual(campo Data)e hora atual(campo EM) do sistema), porém se já houver registro da data do dia ai será preenchido o próximo campo vazio....
    Espero ter conseguido explicar...

    Muito obrigado pela atenção...
    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]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  criquio 27/1/2011, 12:12

    Ah, você precisa então de um RecordSet com as funções FindFirst e Edit. Se não existe, acrescenta, se existe, edita.
    No Repositório de Exemplos tem alguns exemplos sobre isso. Caso não consiga, vou ver depois se coloco aqui um exemplo de código.


    .................................................................................
    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
    Marcelov2008
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Marcelov2008 27/1/2011, 22:16

    Caro criquio,
    eu tentei mas travei ai:

    Private Sub Insere_AfterUpdate()
    If DLookup([Dia], "regdia", [usu_cd_cod] = Forms!masterpage!Insere = "" And [Dia] = Date And [Dia] Is Null) Then
    DoCmd.RunSQL "update regdia set [EM]= time() where usu_cd_cod = Forms!masterpage!insere and [dia] = Date and [EM] is null"
    If IsNull(Me.EM) Or Me.Insere.Value = "" Then
    Me.EM = Time()
    Else
    If IsNull(Me.SM) Or Me.Insere.Value = "" Then
    Me.SM = Time()
    Else
    If IsNull(Me.ET) Or Me.Insere.Value = "" Then
    Me.ET = Time()
    Else
    If IsNull(Me.ST) Or Me.Insere.Value = "" Then
    Me.ST = Time()
    Else
    If IsNull(Me.EE) Or Me.Insere.Value = "" Then
    Me.EE = Time()
    Else
    If IsNull(Me.SE) Or Me.Insere.Value = "" Then
    Me.SE = Time()
    End If
    End If
    End If
    End If
    End If
    End If
    End If

    End Sub


    e ainda dá erro de execução "424" (Objeto é obrigatorio).

    Obs. sem a Linha:

    If DLookup([Dia], "regdia", [usu_cd_cod] = Forms!masterpage!Insere = "" And [Dia] = Date And [Dia] Is Null) Then

    ... funciona mas não insere o dado "digitado" no campo insere...

    por enquanto valeu...


    Gilberto Rocha
    Gilberto Rocha
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 21/01/2010

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Gilberto Rocha 28/1/2011, 00:47

    Amigo, um conselho, eu uso isso e da menos trabalho.

    Esse critério que vc colocou no DLookup, faça em uma consulta e depois chame o DLookup como quiser.

    Exemplo:

    Private Sub Insere_AfterUpdate()

    If DLookup("[Dia]", "CampoDaConsulta") Then
    DoCmd.RunSQL "update regdia set [EM]= time() where usu_cd_cod = Forms!masterpage!insere and [dia] = Date and [EM] is null"

    If IsNull(Me.EM) Or Me.Insere.Value = "" Then
    Me.EM = Time()
    exit sub
    Else
    endif

    If IsNull(Me.SM) Or Me.Insere.Value = "" Then
    Me.SM = Time()
    exit sub
    Else
    endif

    If IsNull(Me.ET) Or Me.Insere.Value = "" Then
    Me.ET = Time()
    exit sub
    Else
    endif

    If IsNull(Me.ST) Or Me.Insere.Value = "" Then
    Me.ST = Time()
    exit sub
    Else
    endif

    If IsNull(Me.EE) Or Me.Insere.Value = "" Then
    Me.EE = Time()
    exit sub
    Else
    endif

    If IsNull(Me.SE) Or Me.Insere.Value = "" Then
    Me.SE = Time()
    exit sub
    Else
    endif

    ainda não esta pronto mas assim fica mais facil entender, acho que só tem que arrumar o RunSql
    avatar
    Marcelov2008
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Marcelov2008 28/1/2011, 13:07

    O que pode estar errado no código abaixo:


    If DLookup("[usu_cd_cod]", "Regcon") Then
    DoCmd.RunSQL "INSERT INTO Regdia ( usu_cd_cod ) "
    Select public_tb_usuario.usu_cd_cod
    FROM public_tb_usuario
    WHERE (((public_tb_usuario.usu_cd_cod) = [Forms]![masterpage]![usu_cd_cod]))

    If IsNull(Me.EM) Or Me.Insere.Value = "" Then
    Me.EM = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.SM) Or Me.Insere.Value = "" Then
    Me.SM = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.ET) Or Me.Insere.Value = "" Then
    Me.ET = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.ST) Or Me.Insere.Value = "" Then
    Me.ST = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.EE) Or Me.Insere.Value = "" Then
    Me.EE = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.SE) Or Me.Insere.Value = "" Then
    Me.SE = Time()
    Exit Sub
    Else
    End If
    End If


    End Sub



    Na linha "Select public_tb_usuario.usu_cd_cod", está dando a mensagem:

    Erro de sintaxe
    Era esperado case
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10669
    Registrado : 04/11/2009

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  JPaulo 28/1/2011, 15:11

    Gostaria de o ajudar, se eu entende-se o que você pretende.

    If quer dizer Se

    Então Se o quê ????

    If DLookup("[usu_cd_cod]", "Regcon") Then

    Todos estes campos (EM - SM - ET - ST - EE - SE ) estão no formulario ?


    Tente o simples;

    Private Sub Form_Current()

    If Me.NewRecord Then

    If IsNull(Me.SM) Then
    Me.SM = Time()
    End If

    If IsNull(Me.ET) Then
    Me.ET = Time()
    End If

    If IsNull(Me.ST) Then
    Me.ST = Time()
    End If

    If IsNull(Me.EE) Then
    Me.EE = Time()
    End If

    If IsNull(Me.SE) Then
    Me.SE = Time()
    End If

    Else

    Exit Sub
    End If
    End Sub




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Inserir dados em campo vazio... Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Inserir dados em campo vazio... Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Inserir dados em campo vazio... Folder_announce_new Instruções SQL como utilizar...
    avatar
    Marcelov2008
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Marcelov2008 29/1/2011, 00:31

    Vou tentar explicar umpouco mais,

    graças as dicas de vocês, cheguei ao resultado abaixo,ou seja, ao ser digitado um nº(= usu_cd_cod) no campo "Insere" do Form "masterpage" são inseridos dados na tabela Regdia, inicialmente nos campos [usu_cd_cod](=nº digitado), [Data](Data())e [EM](Time()) e se digitado o mesmo nº o código vai preenchendo sucessivamente os campos [SM], [ET], ..., [SE].

    Private Sub Insere_AfterUpdate()
    Dim achauso
    cod = Insere
    achauso = (DLookup("[usu_cd_cod]", "Regdia", [cod] = Insere & [Dia] <> Date))
    If IsNull(usu_cd_cod) Then
    MsgBox "Usuário não cadastrado", vbCritical, " Erro"
    Else
    DoCmd.ApplyFilter , [Insere] = [Forms]![masterpage].[cod]
    Me.Texto2.SetFocus
    End If
    If IsNull(Me.EM) Or Me.Insere.Value = "" Then
    Me.EM = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.SM) Or Me.Insere.Value = "" Then
    Me.SM = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.ET) Or Me.Insere.Value = "" Then
    Me.ET = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.ST) Or Me.Insere.Value = "" Then
    Me.ST = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.EE) Or Me.Insere.Value = "" Then
    Me.EE = Time()
    Exit Sub
    Else
    End If

    If IsNull(Me.SE) Or Me.Insere.Value = "" Then
    Me.SE = Time()
    Exit Sub
    Else
    End If

    End Sub


    Agora vem a bomba:

    eu preciso que ao mudar a data do sistema(=Data()), o código comece a inserir tudo outra vez ,ou seja, inicialmente os campos [usu_cd_cod](=nº digitado), [Data](Data())e [EM](Time()) e se digitado o mesmo nº o código vai preenchendo sucessivamente os campos [SM], [ET], ..., [SE].

    Agradeço a todos que até aqui me ajudaram e espero no futuro poder fazer o mesmo.


    avatar
    Marcelov2008
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Marcelov2008 2/2/2011, 01:22

    puxa vida ninguem, por favor mestres, necessito de vossas ajuda...

    Crying or Very sad
    Gilberto Rocha
    Gilberto Rocha
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 21/01/2010

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Gilberto Rocha 2/2/2011, 01:50

    Poste parte de seu banco para analizarmos, a olho nú assim somente para feras como JPaulo ou Vieira.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10669
    Registrado : 04/11/2009

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  JPaulo 2/2/2011, 10:53

    Não entendi a sua ultima duvida, pode detalhar ?

    Um If para validar a mudança de data não serve ?

    achauso = DLookup("[usu_cd_cod]", "Regdia", "[cod]=" & Insere & [Dia])

    If achauso <> Date() Then
    bla bla bla
    ...


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Inserir dados em campo vazio... Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Inserir dados em campo vazio... Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Inserir dados em campo vazio... Folder_announce_new Instruções SQL como utilizar...
    avatar
    Marcelov2008
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados em campo vazio... Empty Re: [Resolvido]Inserir dados em campo vazio...

    Mensagem  Marcelov2008 2/2/2011, 21:29

    Olá pessoal, eu montei um esquema pra ver se consigo explicar melhor...

    por enquanto Valeu... muito obrigadooo.
    Anexos
    [Resolvido]Inserir dados em campo vazio... AttachmentEsquema.doc
    Você não tem permissão para fazer download dos arquivos anexados.
    (49 Kb) Baixado 11 vez(es)

      Data/hora atual: 25/1/2022, 17:32