MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Inserir dados no subformulario

    Compartilhe

    amandaalves1
    Avançado
    Avançado

    Respeito às Regras 100%

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

    [Resolvido]Inserir dados no subformulario

    Mensagem  amandaalves1 em Sab 20 Jan 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
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

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

    Inserir produtos duma caixa de listagem no formulário das vendas

    Mensagem  good guy em Seg 22 Jan 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?

    amandaalves1
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir dados no subformulario

    Mensagem  amandaalves1 em Seg 22 Jan 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
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

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

    Inserir dados no subformulario

    Mensagem  good guy em Ter 23 Jan 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
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

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

    Inserir dados no subformulario

    Mensagem  good guy em Ter 23 Jan 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.

    amandaalves1
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir dados no subformulario

    Mensagem  amandaalves1 em Ter 23 Jan 2018, 22:41

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

    Respeito às Regras 100%

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

    Inserir dados no subformulario

    Mensagem  good guy em Qua 24 Jan 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

    amandaalves1
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Inserir dados no subformulario

    Mensagem  amandaalves1 em Sex 26 Jan 2018, 12:32

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

    Respeito às Regras 100%

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

    Inserir dados no subformulario

    Mensagem  good guy em Sex 26 Jan 2018, 12:57

    Olá Amanda,

    O fórum mais uma vez agradece. Estamos à sua disposição para mais outras dúvidas. Lembre-se de que:

    "O temor(respeito pela sua Palavra) do Senhor é o princípio do conhecimento." (Pv. 1.7; 9.10)

      Data/hora atual: Qui 19 Abr 2018, 12:46