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]Ao abrir o form o focus direcione para um novo registro no sub form!

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 30/3/2012, 22:53

    Boa noite pessoal, preciso de ajuda, como sempre.

    Quero que ao abrir o form, se não contiver registros,
    o focus vá para o campo "codigo" do form, como ja determinei,
    porem se ja existir registros no sub form quero que o focus
    vai para o campo "hora" de um novo registro, para que não precise usar o mouse!
    segue o bd!
    Anexos
    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! AttachmentFOCUS NO SUBFORM.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (577 Kb) Baixado 51 vez(es)
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Agravina 30/3/2012, 23:32

    Porque não colocar direto no campo hora já que o campo código e sequencial ?
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 30/3/2012, 23:39

    No form tenho o codigo sequencial e mais três campos, e no sub form são varios campos, quando abro um form novo, o foco tem que direcionar para o codigo. Suponhamos que eu abra um form novo ai eu lanço a data, Mês/Ano e a maquina!
    e lance umas tres leituras no sub form. Acontece que quando eu abrir este registro com esses dados ja lançados eu queria que ao abrir o form o focus fosse direcionado para o campo hora do sub form e um novo registro...

    Entendeu?
    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 30/3/2012, 23:51


    Não sei se entendi certo, mas ... teste:

    No formulário principal


    Private Sub Form_Load()
    On Error GoTo Trato
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT BaseDoSubform")
    If rs.RecordCount <> 0 Then
    Forms!NomeSubformulário.SetFocus
    DoCmd.GoToRecord , "", acNewRec
    Forms!NomeSubformulário.Form!NomeCampoHora.SetFocus
    End If
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Exit Sub
    Trato: MsgBox Err.Description
    End Sub
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 00:17

    Norberto boa noite está dando o seguinte erro.

    Erro de execução 3061
    Parâmetros insuficientes.Eram esperados1

    uma pergunta essa base do subform é a consulta de origem do mesmo.

    Private Sub Form_Load()
    On Error GoTo Trato
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT BaseDoSubform") >>>> é a consulta de origem do mesmo
    If rs.RecordCount <> 0 Then
    Forms!NomeSubformulário.SetFocus
    DoCmd.GoToRecord , "", acNewRec
    Forms!NomeSubformulário.Form!NomeCampoHora.SetFocus >>>>> essa linha fica assim mesmo
    End If
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Exit Sub
    Trato: MsgBox Err.Description
    End Sub
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 00:21

    Sub form “JESUS”

    Consulta de origem do subform “ConsultaCriarFormulário”
    campo set focus "hora"
    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 01:05


    Amigo Lupércio:

    Você colou o código direto!
    Precisa examinar o código, e alterar os Nomes conforme a propriedade Nome.
    Conforme informou, acho que seria isto:


    Private Sub Form_Load()
    On Error GoTo Trato
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("ConsultaCriarFormulário")
    If rs.RecordCount <> 0 Then
    Forms!JESUS.SetFocus
    DoCmd.GoToRecord , "", acNewRec
    Forms!JESUS!hora.SetFocus
    End If
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Exit Sub
    Trato: MsgBox Err.Description
    End Sub

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 15:08

    Bom dia Norberto!

    Fiz as alterações e apliquei o código no form principal " FormulárioLeiturasAtual"!

    Private Sub Form_Load()
    On Error GoTo Trato
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("CosultaAtualPrincipal")
    If rs.RecordCount <> 0 Then
    Forms!FormulárioLeiturasAtual.SetFocus
    DoCmd.GoToRecord , "", acNewRec
    Forms!FormulárioLeiturasAtual!Hora.SetFocus
    End If
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Exit Sub
    Trato: MsgBox Err.Description
    End Sub


    A base de dados é "CosultaAtualPrincipal"

    O subform é "FormulárioLeiturasAtual"

    Está gerando a seguinte mensagem:

    O Microsoft Access não pode localizar o campo “hora” referido em sua expressão.

    Será que é minhas tabelas que não estão bem relacionadas?
    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 15:58


    A mensagem de erro diz que o Access não pode localizar o campo "hora".

    O nome deste campo aparece nesta parte do código, pois foi o nome que você informou na mensagem 6:
    Forms!FormulárioLeiturasAtual!Hora.SetFocus

    Então, no seu formulário,
    no modo Design,
    selecione o tal campo,
    e na folha de propriedades > Guia Outra
    veja o que está escrito a direita de Nome ............
    Isto que está escrito é o nome do campo para o Access.

    Agora substitua a palavra "Hora" na linha em questão do código pelo que está escrito na propriedade Nome.

    Sempre deve usar o que consta na propriedade Nome para referenciar os objetos do Access no código, sejam eles campos, formulários ou quaisquer outros. Isto é básico!
    E o correto é que a propriedade Nome seja sempre igual ao nome do campo na tabela.

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 16:11

    Verifiquei la está hora tambem...
    portanto está normal mas não funciona.
    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 16:38


    Então esta mensagem não poderia ter sido emitida pelo Access!

    O Access não pode localizar o campo hora.


    Alguma outra mensagem?
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 16:46

    Não Norberto,,, só essa mensagem!
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 16:54

    VEJA O CÓDIGO EXEMPLO.

    Private Sub Form_Load()
    On Error GoTo Trato
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("CosultaAtualPrincipal") >>>>>>> é origem do subform ” FormBaseDados”
    If rs.RecordCount <> 0 Then
    Forms!FormBaseDados.SetFocus >>>>>>>>>>>>> subform “FormBaseDados”
    DoCmd.GoToRecord , "", acNewRec
    Forms!FormBaseDados!Hora.SetFocus >>>>>>>>>>>>> subform “FormBaseDados”
    End If
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Exit Sub
    Trato: MsgBox Err.Description
    End Sub

    Ai acontece o erro citado acima, Norberto!
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 17:09

    Veja o bd alterado e com outro erro agora.

    Microsoft Access não consegue localizar o formulário!
    Anexos
    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! AttachmentFOCO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (451 Kb) Baixado 24 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 17:21


    Não é só campo Hora que dever ter seu Nome correto.
    Os outros objetos, obviamente, também.

    Estou confuso com os nome que você já mencionou:

    * Sub form “JESUS”
    * subform “ConsultaCriarFormulário”
    * O subform é "FormulárioLeiturasAtual"
    * subform “FormBaseDados”

    Voltemos ao início...
    Abaixo o código original.
    Nele substitua os Nomes (em vermelho) de acordo com a propriedade Nome dos seus controles.
    Onde diz "Tabela/Consulta/SQL" substitua pelo texto que aparece na propriedade Fonte de Registro do seu subformulário, mantendo as aspas.


    Private Sub Form_Load()
    On Error GoTo Trato
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Tabela/Consulta/SQL")
    If rs.RecordCount <> 0 Then
    Forms!NomeSubformulário.SetFocus
    Forms!NomeSubformulário!NomeCampoHora.SetFocus
    DoCmd.GoToRecord , "", acNewRec
    End If
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Exit Sub
    Trato: MsgBox Err.Description
    End Sub

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 17:37

    Norberto

    veja detalhado o bd.

    Fonte de registro do subformulário “CosultaAtualPrincipal”
    Subformulário “FormBaseDados”
    Campo do subform que quero o foco “hora”


    Private Sub Form_Load()
    On Error GoTo Trato
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("CosultaAtualPrincipal")
    If rs.RecordCount <> 0 Then
    Forms!FormBaseDados.SetFocus
    Forms!FormBaseDados!Hora.SetFocus
    DoCmd.GoToRecord , "", acNewRec
    End If
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Exit Sub
    Trato: MsgBox Err.Description
    End Sub

    Mensagem:
    Microsoft Access não pode localizar o formulário reverenciado “FormBaseDados”.


    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 17:46


    Poste convertido para 2003.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 17:56

    Norberto
    Agradeço amigo pelo que tem me ajudado, mas no momento estou longe de casa em outra cidade trabalhando e aqui não tenho
    o access 2003. Meus "CDs" de instalação ficaram em casa sai apressado e acabei esquecendo, Portanto não tenho como postar o bd convertido, assim que conseguir a instalação vou postar! Hoje vou estar de plantão vou ver se consigo baixar o access 2003! Um abraço e fico no aguardo, por qualquer novidade!

    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 18:02


    Não precisa do 2003 instalado.
    No próprio 2007 ou 2010 use o comando criar uma cópia convertida para versão anterior.
    Deve estar em Ferramentas > Utilitários de Banco de Dados > Converter Banco de Dados >
    ou algo assim ... é só verificar!
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 18:08

    Norberto

    Bd convertido para Access 2003!
    Tomando uma verdeira aula com você mestre! Laughing
    Anexos
    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! AttachmentFOCUS 2003.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (245 Kb) Baixado 16 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 20:05


    Só pude abrir agora e estou vendo...
    Tem também problema nos relacionamentos, e mais alguns ajustes precisam ser feitos.

    Por favor aguarde.

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 21:26

    Norberto ok!

    Eu desconfiava dos relacionamentos, estou online e aguardando! Obrigado pelo apoio!
    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 21:35


    Bem, vamos lá...

    * O código estava no evento Load() do subformulário, e deveria estar no formulário (veja mensagem 4);
    * O subformulário estava com suas propriedades Pop-up e Janela Restrita definidas como Sim (não faz sentido);

    Alterações que fiz:

    * Correção dos dois itens citados acima;
    * Alterei a Fonte de Registro do form e do subform para as suas respectias tabelas de origem, em vez de consultas.
    * Criei um campo chave-primária na tabela T_LeituraSubFormulario (base do subform).
    * Mudei o código que havia feito para algo bem mais simples, e coloquei no evento Current() do form.
    * Coloquei código para evitar que o usuário entre no subform se não houver dados no form.
    * Bloquei o campo código no form (é uma parada de tabulação inútil, visto que é NumeraçãoAutomática).

    Recomendo:

    * Cuidado com o uso de palavras reservadas do Access em nome de controles, como Data, Hora, etc....

    Observação:

    * Alterei algumas propriedades (como exibir o botão fechar, etc. pra facilitar o trabalho. Por favor, reconfigure como precisar.

    Anexos
    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! AttachmentFOCUS_2_2003.zip
    (179 Kb) Baixado 67 vez(es)
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Lupércio 31/3/2012, 23:07

    Norberto!

    Fiquei contente, funcionou normal com suas mudanças no bd,
    ai fiz alguns ajustes como preciso,
    e ficou até com mensagem de alerta ao usuário,
    parabéns e você tem o dom de ensinar, e ajudar a resolver!

    Uma pergunta porque você adicionou aquele campo "IdLeitura" numeração automática,
    da tabela "T_LeituraSubFormulario" qual foi o motivo da criação do campo?
    Porque verifiquei você não alterou o relacionamento das tabelas,
    você só criou esse referido campo.

    Sem abusar de sua bondade se puder me explicar, e independente disso, te agradeço de coração,
    por me ajudar a solucionar esse problema, na verdade você solucionou o problema!

    Um abraço!

    Lupércio Porfírio
    avatar
    Convidad
    Convidado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Convidad 31/3/2012, 23:24


    O "problema de relacionamento" era justamente a falta desta chave-primária que acrescentei.
    Na verdade deveria ter dito "problema na tabela". Embarassed

    A chave-primária é um campo exclusivo e necessário para localizar e contar registros.
    Com todos os outros campos pode ocorrer duplicidade, mas não com a chave.
    Então nunca deve faltar numa tabela.

    Foi um prazer ajudar. Manda 1 real! Very Happy

    Conteúdo patrocinado


    [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form! Empty Re: [Resolvido]Ao abrir o form o focus direcione para um novo registro no sub form!

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 22:02