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]Inserir dados no subformulario

    avatar
    amandaalves1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 482
    Registrado : 01/02/2010

    [Resolvido]Inserir dados no subformulario Empty [Resolvido]Inserir dados no subformulario

    Mensagem  amandaalves1 20/1/2018, 21:49

    Boa Noite, podoeria me dizer o que devo fazer para poder inserir dados no subformulario, quando abro um novo registro no form principal eu consigo incluir dados, quando passo para o subformulario para lançar os novos dados, da erro dizendo o campo não pode ser atualizado.
    Obrigada
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados no subformulario Empty Inserir produtos duma caixa de listagem no formulário das vendas

    Mensagem  good guy 22/1/2018, 13:24

    Olá Amanda,

    Existe uma relação entre as tabelas tblServiço e tblDetalheServiço onde a tabela tblServiço é a tabela-mãe quando os registros não podem ser duplicados. A tabela tblDetalheServiço herda os campos da tabela-mãe e estão vinculadas através do código "NumeroServiço" que é um campo indexado e não permite duplicação e é o campo principal da tabela tblServiço, portanto, você não pode adicionar campos no subformulário que é da tabela secundária ou filha(tblDetalheServiço), somente na tabela-mãe(tblServiço) de onde vem as adições iniciais relativo ao cliente. Deu pra entender?
    avatar
    amandaalves1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 482
    Registrado : 01/02/2010

    [Resolvido]Inserir dados no subformulario Empty Re: [Resolvido]Inserir dados no subformulario

    Mensagem  amandaalves1 22/1/2018, 19:32

    Olá boa tarde, obrigada pelas dicas, então se eu precisar acrescentar mais um lançamento ou editar um campo na tabela tblDetalheServiço, depois de lançado como devo proceder então, tenho que fazer outros formulários das tabelas sem consulta, fesse que fiz ficará somente para visualização?
    Obrigada novamente
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados no subformulario Empty Inserir dados no subformulario

    Mensagem  good guy 23/1/2018, 15:14

    Olá Amanda,

    Não nada disso. Você pode adicionar informação do próprio formulário principal no subformulário tblDetalheServiço na hora, a partir da dica que vou dar a você. Crie uma variável do tipo String(strSQL) com a cláusula INSERT INTO na tabela tblDetalheServiço E NO EVENTO EXIT (SAÍDA) DO ÚLTIMO CAMPO DO SEU FORMULÁRIO o código abaixo. Veja um exemplo abaixo cujas variáveis e nomes de campo você deve alterar:

    Código:

    Dim sCodigo, sCodProd, nQuant As Integer
    Dim sProd As String
    Dim  nValorVenda, sTotal, sSaldo As Currency
    Dim sDataVenda As Date

    If Not IsNull(txtValorTotal) Then

    DoCmd.SetWarnings False
    strSQL = "INSERT INTO tblDetalheServiço(CodigoCliente,CodigoProduto,"
    strSQL = strSQL & "Produto,Quantidade, ValordeVenda,Total, "
    strSQL = strSQL & "Saldo, DataVenda)VALUES('" & sCodigo & "',"
    strSQL = strSQL & "'" & sCodProd & "', '" & sProd & "','" & nQuant & _
    strSQL = strSQL & "', '" & nValorVenda & "', '" & sTotal & "',"
    strSQL = strSQL & "'" & sSaldo & "','" & sDataVenda & "')"

    DoCmd.RunSQL strSQL
    DoCmd.RunCommand acCmdRefresh
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados no subformulario Empty Inserir dados no subformulario

    Mensagem  good guy 23/1/2018, 19:48

    Olá Amanda,

    Observei que para a string strSQL acima que postei não vai ser possível porque os campos do subformulário são de outra tabela(tblDetalheServiço) e a do formulário principal é (tblServiço). Portanto, fiz deste jeito abaixo:

    1 - No campo NumeroServiço do seu formulário principal, no evento duplo-clique insira este código:

    Código:
    Private Sub NumeroServiço_DblClick(Cancel As Integer)
    On Error Resume Next
    DoCmd.OpenForm "FrmDetalheServiços", , , "NumeroServiço = Forms!FrmServico2!NumeroServiço", , acFormAdd, acDialog
    DoCmd.Close acForm, "FrmServico2", acSaveYes
    End Sub

    2 - Adicione o campo NumeroServiço da tabela tblDetalhedoServico no subformulário como o 1º campo da esquerda para a direita. Ao digitar o número de serviço, IGNORE a mensagem "Não pode ser atualizado".

    3 - Adicione um botão para sair do formulário no subformulário(FrmDetalheServiços) quando estiver aberto. Eis o código:

    Código:
    Private Sub cmdSair_Click()
    On Error Resume Next
    DoCmd.OpenForm "FrmServico2", , , "NumeroServiço = Forms!FrmDetalheServiços!NumeroServiço", , acFormAdd, acDialog
    DoCmd.Close acForm, "FrmDetalheServiços", acSaveYes
    End Sub

    3 - Como estas duas tabelas estão relacionadas as alterações estarão de acordo.
    avatar
    amandaalves1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 482
    Registrado : 01/02/2010

    [Resolvido]Inserir dados no subformulario Empty Re: [Resolvido]Inserir dados no subformulario

    Mensagem  amandaalves1 23/1/2018, 22:41

    Olá obrigada vou tentar,
    Essa mensagem "Não pode ser atualizado", não tem como impedir que ela aconteça?
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados no subformulario Empty Inserir dados no subformulario

    Mensagem  good guy 24/1/2018, 12:09

    Olá Amanda,

    Sim, através do seguinte código no formulário FRmDetalheServiços:

    Código:
    Private Sub Form_Load()
    DoCmd.GoToRecord , , acNewRec
    Me.NumeroServiço = DLast("NumeroServiço", "tblDetalheServiço")
    End Sub
    avatar
    amandaalves1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 482
    Registrado : 01/02/2010

    [Resolvido]Inserir dados no subformulario Empty Re: [Resolvido]Inserir dados no subformulario

    Mensagem  amandaalves1 26/1/2018, 12:32

    Obrigada meu amigo pelas dicas, vou implementar.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados no subformulario Empty Inserir dados no subformulario

    Mensagem  good guy 26/1/2018, 12:57

    Olá Amanda,

    O fórum mais uma vez agradece. Estamos à sua disposição para mais outras dúvidas.

    Se quiser adquirir meus livros para ampliar seus conhecimentos:

    Para iniciante:
    https://www.maximoaccess.com/t32310-segundo-livro-publicado-do-good-guy-domine-o-access-vba-para-iniciantes-na-programacao

    Para usuário avançado:
    https://www.maximoaccess.com/t29536-livro-publicado-tecnicas-especiais-de-access-vba-da-autoria-de-good-guy

    "O temor do Senhor(respeito pela Palavra de Deus, leitura e obediência) é o princípio do conhecimento" (Prov. 1.7;9.10)
    Disse Jesus: "E conhecereis a Verdade e a Verdade vos libertará". (Jo 8.32)
    Disse Jesus: “Eu sou a luz do mundo; aquele que me segue, não andará em trevas, mas terá a luz da vida.” (Jo. 8.12)

    Conteúdo patrocinado


    [Resolvido]Inserir dados no subformulario Empty Re: [Resolvido]Inserir dados no subformulario

    Mensagem  Conteúdo patrocinado


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