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

    Abrir Formulário em um Novo Registo ou em Editar Registo

    avatar
    Helio13
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 36
    Registrado : 11/07/2012

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Helio13 1/8/2012, 21:57

    Boa noite.
    Estou com um problema e precisava de ajuda...

    A situação é a seguinte:
    Tenho um Form Inicial (em tabela), em que dou valores aos atributos, do qual um dos atributos ao ser seleccionado um valor(numa CaixaCombinação) abre um SubForm, onde tenho mais atributos para preencher sobre o Registo que estou a mexer.

    - O que define um registo é o atributo CODIGO_INVENTARIO
    - O Form Inicial e o SubForm estão ligados a tabelas de dados diferentes
    - Tenho uma variável Publica (CodI) que me passa o CODIGO_INVENTARIO, quando abro o SubForm
    - O código que tenho para abrir o SubForm é:

    DoCmd.OpenForm stDocName, , , stLinkCriteria
    'stDocName é o nome do SubForm

    - Tenho este código no SubForm que ao abrir Cria um Novo Registo com o CODIGO_INVENTARIO passado pela variável Publica (CodI)

    Private Sub Form_Open(Cancel As Integer)
    'Abrir formulario em um novo registro
    DoCmd.GoToRecord , , acNewRec

    Me!CODIGO_INVENTARIO = CodI
    End Sub

    Até aqui tudo bem!
    >> Agora o meu problema é se ao mexer num Registo no Form Inicial e que já tenho sido criado um Registo no SubForm para ele, dá barraca porque neste caso eu queria era poder Editar e não criar um novo registo, até porque não posso repetir o CODIGO_INVENTARIO.

    Não sei se fui bem explicito no meu problema. Agradeço desde já qualquer resposta.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Abrir Formulário em um Novo Registro ou em Editar registo

    Mensagem  good guy 1/8/2012, 22:19

    Olá Hélio,

    Se você não quer criar um novo registo no Subform, porque faz uso deste código?

    Private Sub Form_Open(Cancel As Integer)
    'Abrir formulario em um novo registro
    DoCmd.GoToRecord , , acNewRec

    Me!CODIGO_INVENTARIO = CodI
    End Sub
    avatar
    Helio13
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 36
    Registrado : 11/07/2012

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Re: Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Helio13 1/8/2012, 22:24

    O objectivo é que estou no form num certo registo, depois quando carrega numa combox para selecionar o tipo desse registo ele abre um subform para inserir dados correspondentes a esse tipo e guardo-os

    O que queria fazer era depois se carregar outra vez nesse mesmo tipo, ele abri-se o mesmo subform com os dados que já inseri correspondentes a esse registo e nao abri-se um novo...

    Fiz me entender?

    Como posso fazer isso?
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Abrir formulário em um Novo Registo ou em Editar Registo

    Mensagem  good guy 2/8/2012, 15:51

    Olá Helio,

    Posta o bd para eu tentar entender o que você quer.
    avatar
    Helio13
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 36
    Registrado : 11/07/2012

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Re: Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Helio13 2/8/2012, 16:35

    A questão é no F_Achados, na categoria_ACH onde se escolhe Adorno, ele abre um sub form para inserir dados corresponde te a esse codigo e guardo na tabela, ate ai tudo ok.
    Continua a preencher no F_Achados, mas se por acaso quizesse ir outra vez no subform "F_Adorno" ao carregar outra vez vez na combox Adorno, ele abrir o subform com os dados que inseri correspondente a esse codigo...

    Alguma duvida, pergunte

    Obrigado
    Anexos
    Abrir Formulário em um Novo Registo ou em Editar Registo AttachmentIPT_SIP2_20120802.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (315 Kb) Baixado 41 vez(es)
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  good guy 2/8/2012, 20:38

    Olá Helio,

    Não tenho a biblioteca:
    Microsoft ActiveX Data Objects 6.1 Library

    Como não consegui baixar da internet vou ver se acho em algum cd pelo meu computador doméstico.
    avatar
    Helio13
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 36
    Registrado : 11/07/2012

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Re: Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Helio13 2/8/2012, 20:40

    Ok...
    Mas percebeu o que eu quero fazer e não estou a conseguir?
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  good guy 2/8/2012, 20:55

    Olá Helio,

    O código está errado aqui:

    ERRADO:
    If (Me!CATEGORIA_ACH.Value = "ADORNO") Then
    CodI = Me!CODIGO_INVENTARIO
    'Me.Requery
    CERTO:
    If Me.CaixaCombinação_CategoriaACH.Column(0) = "ADORNO" Then
    CodI = Me!CODIGO_INVENTARIO

    Existem outras referencias erradas semelhantes em seu código.
    Obs: Procure simplificar e evitar os sinais gráficos nos nomes de suas combos e de seus campos.
    avatar
    Helio13
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 36
    Registrado : 11/07/2012

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Re: Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Helio13 2/8/2012, 21:14

    Alterei como disse...
    Mas ele continua a criar um novo e a não ir buscar aquele já preenchido com os dados que inseri!?
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  good guy 2/8/2012, 21:38

    Olá Helio,


    Apenas chequei algumas linhas de código, mas como disse estou sem a biblioteca necessária para testar os eventos e entender melhor o seu problema. Aguarde um pouco até que eu possa fazer uso da biblioteca necessária.
    avatar
    Helio13
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 36
    Registrado : 11/07/2012

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Re: Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Helio13 2/8/2012, 21:45

    Ok, obrigado

    Fico há espera de resposta...

    Obrigado
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  good guy 3/8/2012, 00:34

    Olá Helio,

    Use a função DLast para buscar o último codigo indexador e a partir dele buscar o último registro através de uma string SQL com a propriedade recordsource.


    Exemplo:

    Dim strSQL As String
    Dim sUltimo As Integer
    sUltimo = Dlast("SeuCodigo","SuaTabela")
    strSQL = "SELECT * FROM SuaTabela WHERE SeuCodigo = " & sUltimo
    me.Recordsource = strSQL

    Testando:

    No formulário F_Adornos:
    Private Sub Form_Load()

    On Error GoTo fim

    Dim strSQL As String
    Dim sUltimo As Integer
    sUltimo = DLast("CODIGO_INVENTARIO", "T_Adornos")
    strSQL = CStr("SELECT * FROM T_Adornos WHERE [CODIGO_INVENTARIO] = " & sUltimo)
    Me.RecordSource = strSQL
    fim:
    Exit Sub

    No formulário F_Achados:

    Private Sub CaixaCombinação_CategoriaACH_AfterUpdate()

    On Error GoTo Err_cc_Categoria_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    'stDocName = "F_Adornos"
    'DoCmd.OpenForm stDocName, , , stLinkCriteria

    If (Me!CaixaCombinação_CategoriaACH.Column(0) = "ADORNO") Then

    'Me.Requery

    If Me!CaixaCombinação_CategoriaACH.Column(0) <> CatAch Then

    'Mostra mensagem com opção: (Sim / Não)
    msgconfirmacao = MsgBox("Deseja mesmo Mudar a Categoria??", vbYesNo + 32, "Perda de Dados!")
    'Se carregar no botão "sim"
    If msgconfirmacao = vbYes Then

    'apaga os registos
    'CurrentDb.Execute ("DELETE * FROM T_Adornos WHERE CODIGO_INVENTARIO like '" + CodI + "'") 'Porque você deleta os dados dessa tabela?
    CurrentDb.Execute ("DELETE * FROM T_Ceramicas WHERE CODIGO_INVENTARIO like '" + CodI + "'")
    'Mensagem de Informação
    'MsgBox ("Dados foram apagados!!"), 64, "Informação!"

    stDocName = "F_Adornos"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    Else:
    Me!CATEGORIA_ACH = CatAch
    CaixaCombinação_CategoriaACH.Value = CatAch
    End If
    Else:
    End If

    .......................................
    End Sub




    Última edição por good guy em 3/8/2012, 03:43, editado 2 vez(es)
    avatar
    Helio13
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 36
    Registrado : 11/07/2012

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Re: Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Helio13 3/8/2012, 00:49

    Hum...e está a dizer para eu meter isso em que parte do código?
    avatar
    Helio13
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 36
    Registrado : 11/07/2012

    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Re: Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Helio13 3/8/2012, 10:18

    Eu apago os dados dessa tabela, pois se já tiver introduzido dados referente ha categoria "Adorno" daquele respectivo codigo, mas ver que me enganei e mudar a categoria, tenho que apagar os dados da categoria "Adorno" daquele codigo para voltar a inserir...

    Senao ia ter dados de duas categorias, para o mesmo codigo e nao pode ser...

    Não estou a conseguir implementar!?

    Continua a nao abrir o subform com os dados referentes aquele codigo que esta seleccionado?

    Voce ai conseguiu implementar?

    Conteúdo patrocinado


    Abrir Formulário em um Novo Registo ou em Editar Registo Empty Re: Abrir Formulário em um Novo Registo ou em Editar Registo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 11:24