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


3 participantes

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Anderson Catarino 22/9/2017, 17:58

    Boa tarde.
    Não sei se o tópico é repetitivo mas pesquisando sobre o tema não encontrei resposta.
    No meu formulário tenho uma caixa de combinação que escolhendo uma opção mostra os restantes dados em varias caixas de texto.
    Ex:
    comb1: ( 1 - João 2 - Manuel 3 - Rita)
    OPÇÃO 1
    txt1: Masculino
    txt2: 30
    txt3: Professor

    Mostrar a informação ate ai tudo bem, supomos que sempre que o João vai fazer uma compra ao selecionar o nome na comb1 já fica os dados preenchidos.
    O problema é o gravar informação para outra base de dados, supomos uma lista de compras. E se quiser fazer novo cliente? Como faço para escrever na comb1?

    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1636
    Registrado : 17/03/2011

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Cláudio Machado 22/9/2017, 18:23

    Se no seu form de vendas você já têm os campos:

    txt1, txt2 e txt3

    inclua este código no Após Atualizar da sua Combo.

    Código:

    Me!txt1 = me.Comb1.Column(3)
    Me!txt2 = me.Comb1.Column(4)
    Me!txt3 = me.Comb1.Column(5)

    Lembrando que Column( ) é o numero da coluna dentro da consulta da sua combo.



    Para cadastrar um novo cliente quando não existir.
    Crie um formulário de cadastro de clientes: (Ex: frmClientes)

    Na propriedade "Se não estiver na lista" da sua comb1 coloque o código abaixo.

    Código:

    Response = acDataErrContinue  ' Inibe msg padrão do Access.
      If MsgBox("Cliente não cadastrado:  '" & NewData & "'" & vbCrLf & "Deseja Cadastrar?", 32 + vbYesNo) = 6 Then
          DoCmd.OpenForm "frmClientes", , , , acFormAdd, acDialog, NewData
          ' A execução deste código fica interrompida aqui até o
          ' fechamento do formulário frmClientes.
         
          Response = acDataErrAdded
      Else
          Response = acDataErrContinue
      End If


    No seu formulário frmClientes na propriedade "Ao Carregar", coloque este código.

    Código:

    If Not IsNull(Me.OpenArgs) Then
        Me!NomeCliente = UCase(Me.OpenArgs) NomeCliente é o nome da caixa de texto onde você digita o nome do Cliente
    End If


    Espero que ajude.
    No aguardo.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Caixa de combinação! Gravar dados na Base de Dados 90dssg para agradecer a dica que solucionou seu problema.
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Anderson Catarino 25/9/2017, 11:00

    Bom dia. Obrigado pela resposta.
    Eu compreendi o que tu quiseste dizer, mas o meu maior problema é gravar os dados. Eu tinha antigamente em vez de combobox a puxar as informaçoes associadas para caixas de textos tinha so caixas de textos, contudo tem informaçoes que sao utilizadas todos os dias durante uma semana por isso que coloquei a combobox para poupar trabalho, contudo usando combobox ele já não me permite gravar os dados na base de dados.
    O que eu preciso é o codigo para gravar.

    Dim Cancel As Boolean
       If MsgBox("Deseja guardar novo registo?", vbYesNo + vbInformation, "Guardar") = vbYes Then
       CurrentDb.Execute "INSERT INTO CartaControlo (nop,maquina,Dataop,Produto,Cor,Denier,Tenacidade,denier1,denier2,denier3,denier4,denier5,denier6,obs1,Media/x,x/den,amplitude/x,r/den,Zona,forcarotura,Alongamento,tenacidade_real,obs2,Data,Assinatura) " & _
                         "VALUES ('" & Me.nop & "','" & Me.maquina & "','" & Me.Dataop & "','" & Me.Produto & "','" & Me.Cor & "','" & Me.Tenacidade & "','" & Me.Denier & "','" & Me.denier1 & "','" & Me.denier2 & "','" & Me.denier3 & "','" & Me.denier4 & "','" & Me.denier5 & "','" & Me.denier6 & "','" & Me.obs1 & "','" & Me.txtMedia & "','" & Me.x_den & "','" & Me.amplitude_x & "','" & Me.r_den & "','" & Me.Zona & "','" & Me.obs2 & "','" & Me.Data & "','" & Me.Assinatura & "')"
                          MsgBox "Registro guardado!", vbInformation, "Sistema Interno - LEP"
       Else
       Cancel = True
       End If

    Com esse codigo da-me erro
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  JPaulo 25/9/2017, 11:47

    Em modelagem de dados, jamais poderá usar nos nomes dos campos, isto "Media/x" ou isto "x/den".

    Como está a usar, esses nomes devem estar dentro de parênteses retos;

    [Media/x],[x/den],[amplitude/x],[r/den]

    Além disso, tem de ter a mesma quantidade de campos no INSERT INTO

    Você aqui tem 25 campos

    (nop,maquina,Dataop,Produto,Cor,Denier,Tenacidade,denier1,denier2,denier3,denier4,denier5,denier6,obs1,[Media/x],[x/den],[amplitude/x],[r/den],Zona,forcarotura,Alongamento,tenacidade_real,obs2,Data,Assinatura)

    Aqui apenas tem 22 campos

    "VALUES ('" & Me.nop & "','" & Me.maquina & "','" & Me.Dataop & "','" & Me.Produto & "','" & Me.Cor & "','" & Me.Tenacidade & "','" & Me.Denier & "','" & Me.denier1 & "','" & Me.denier2 & "','" & Me.denier3 & "','" & Me.denier4 & "','" & Me.denier5 & "','" & Me.denier6 & "','" & Me.obs1 & "','" & Me.txtMedia & "','" & Me.x_den & "','" & Me.amplitude_x & "','" & Me.r_den & "','" & Me.Zona & "','" & Me.obs2 & "','" & Me.Data & "','" & Me.Assinatura & "')"


    .................................................................................
    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]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new Instruções SQL como utilizar...
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1636
    Registrado : 17/03/2011

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Cláudio Machado 25/9/2017, 13:26

    Bom dia.
    Como o Mestre disse acima...
    Verifique melhor seus códigos amigo...


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Caixa de combinação! Gravar dados na Base de Dados 90dssg para agradecer a dica que solucionou seu problema.
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Anderson Catarino 25/9/2017, 14:12

    Obrigado JPaulo, como tinha acrescentado mais um campo e feito umas alterações, num lugar ficou com mais campos que outro. Faço gravar, recebo a informação que foi guardado, coloca me os campos enable que defini, depois ao utilizar os botoes de navegação para ver os registos guardados diz que tenho que preencher o campo nop da tabela carta de controlo, acho que deve ser algum problema relacionado com a combobox. Vou te deixar a minha base de dados, se tiveres tempo para ver o que tenho de errado agradecia, já fiz algumas alterações desde aquele vez que me ajudaste, eu ao fazer calcular ele calcula me a media, mas já não me calcula a amplitude.
    O Objetivo é qdo carregar no botao novo escolho na combobox uma ordem de produção e ele carrega os campos associados a ordem de produção (produto, cor, tenacidade, denier, data e maquina) ... preencho os valores das amostras e carrego calcular e ele calcula a media e x/media (media a dividir por denier), mas a amplitude_x (maior - menor das amostras não funciona) e como esse nao funciona o r_den (amplitude_x a dividir pelo denier tb nao funciona). carrego no botao gravar e não grava.
    Não sei se fui claro a explicar.
    Tenho uma caixa de listagem so para verificar se estava a gravar os dados na base de dados.
    O Formulario é o frmReg_Formulario, combobox carrega os dados da tabela OP e grava os resultados na CartaControlo

    Anexos
    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados AttachmentCartaControlo2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (465 Kb) Baixado 11 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  JPaulo 25/9/2017, 15:38

    No "frmReg_Formulario" a combo não está a carregar os dados da tabela OP

    O "frmReg_Formulario" já tem como origem a tabela "CartaControlo", e ainda em cima disso, você está a tentar dar um INSERT INTO.

    O exemplo é mesmo este que anexou ?



    .................................................................................
    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]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new Instruções SQL como utilizar...
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Anderson Catarino 26/9/2017, 10:14

    JPaulo o exemplo é esse mesmo, só que tinha a combo a carregar mal os dados, deveria carregar da tabela OP e estava a carregar da tabela CartaControlo, já alterei isso.
    A ideia é carregar uma OP (ordem de produção) da tabela OP e depois de fazer as contas gravar na tabela CartaControlo, como os campos relacionados com a OP estão desvinculadas por isso que estava a utilizar o INSERT INTO, mas provavelmente isso não faz sentido.
    Chega uma OP no inicio da semana e pode ser uma produção grande que leve a semana toda, por exemplo, e não queria estar todos os dias a escrever a informação relativamente a OP, a unica coisa que pode mudar é a maquina por isso não adicionei na tabela OP.
    Mas as vezes não tenho a OP mas sei os valores que tem que dar e queria gravar na mesma os dados e depois no botao editar, editava os dados que faltava, pois os dados importantes para a produção é a Media/X e a tenacidade real.
    Espero ter explicado bem.
    Já coloquei a combo a carregar os valores corretos.
    Anexos
    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados AttachmentCartaControlo2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (456 Kb) Baixado 2 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  JPaulo 26/9/2017, 10:49

    Deve ser isto que você quer;

    Não necessita do INSERT INTO;

    Código:
    Private Sub cboNOP_AfterUpdate()
    On Error Resume Next
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim strSQL As String
       
       
        cboNOP.SetFocus
        If cboNOP.Value > 0 Then
            strSQL = "SELECT * FROM OP WHERE N_OP = " & cboNOP.Column(0)
       
            Set db = CurrentDb
            Set rs = db.OpenRecordset(strSQL)
            If Not rs.BOF Then
                Me.nop = rs("N_OP")
                Me.Produto = rs("Produto")
                Me.Dataop = rs("Data")
                Me.Cor = rs("Cor")
                Me.Tenacidade = rs("Tenacidade")
                Me.Denier = rs("Denier")
            End If
            rs.Close
            Set rs = Nothing
            db.Close
            Set db = Nothing
        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]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Folder_announce_new Instruções SQL como utilizar...
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Anderson Catarino 26/9/2017, 14:21

    É mesmo isso JPaulo. Obrigado pela enorme ajuda. Agora posso continuar a fazer alguns ajustes/implementações para avançar para o próximo passo. Obrigado.
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Anderson Catarino 30/10/2017, 15:01

    Resolvido

    Conteúdo patrocinado


    [Resolvido]Caixa de combinação! Gravar dados na Base de Dados Empty Re: [Resolvido]Caixa de combinação! Gravar dados na Base de Dados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 13:58