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]Caixas de Combinação interligadas que aceitam novos registros

    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]Caixas de Combinação interligadas que aceitam novos registros Empty [Resolvido]Caixas de Combinação interligadas que aceitam novos registros

    Mensagem  Walter 20/1/2012, 10:14

    Bom dia. Estou fazendo um formulário que tem duas caixas de combinação interligadas: Estado - Cidade. Ao se escolher o Estado na primeira caixa de texto na segunda ficam selecionadas apenas as cidades daquele Estado. Tentei integrar nas caixas de texto um código para que as mesmas aceitem novos registros e os incorporem aos dados da Tabela. Mas o mesmo não funciona, os dados não vão para a tabela. Como faço isso?
    Aí vai os códigos que usei:

    Private Sub cboCidade_NotInList(NewData As String, Response As Integer)
    Dim sql As String
    If MsgBox("Cidade não Cadastrado" & Chr(13) & Chr(13) & "Deseja cadastrar a Cidade " & UCase(NewData) & " agora?", vbYesNo, "Cadastro") = vbYes Then
    sql = "INSERT INTO Tbl_Estado(Cidade) VALUES ('" & NewData & "')"
    DoCmd.RunSQL sql
    Response = acDataErrAdded
    Else
    Response = acDataErrDisplay
    End If
    End Sub

    Private Sub cboEstado_AfterUpdate()
    Me.cboCidade = Null
    Me.cboCidade.Requery
    Me.cboCidade = Me.cboCidade.ItemData(0)
    End Sub

    Private Sub cboEstado_NotInList(NewData As String, Response As Integer)
    Dim sql As String
    If MsgBox("Estado não Cadastrado" & Chr(13) & Chr(13) & "Deseja cadastrar o Estado " & UCase(NewData) & " agora?", vbYesNo, "Cadastro") = vbYes Then
    sql = "INSERT INTO Tbl_Estado(Estado) VALUES ('" & NewData & "')"
    DoCmd.RunSQL sql
    Response = acDataErrAdded
    Else
    Response = acDataErrDisplay
    End If
    End Sub

    Private Sub Form_Load()
    Me.cboEstado = Me.cboEstado.ItemData(0)
    Call cboEstado_AfterUpdate
    End Sub
    avatar
    Convidad
    Convidado


    [Resolvido]Caixas de Combinação interligadas que aceitam novos registros Empty Re: [Resolvido]Caixas de Combinação interligadas que aceitam novos registros

    Mensagem  Convidad 21/1/2012, 15:51

    Olá Walter
    Creio que você não conseguirá somente com uma tabela.
    Terá que usar 2 tabelas.
    O ideal é fazer uma tabela para cidade e outra para estado, fazendo o relacionamento entre as duas
    Na verificação, se o registro não existir, abre-se um form para adicionar o novo registro e no final da um requery na combo em questão.
    Crendo que se fizer dessa maneira, um desses código que você postou, funcionará.

    Abraços
    avatar
    Convidado
    Convidado


    [Resolvido]Caixas de Combinação interligadas que aceitam novos registros Empty Re: [Resolvido]Caixas de Combinação interligadas que aceitam novos registros

    Mensagem  Convidado 21/1/2012, 22:43


    http://maximoaccess.forumeiros.com/t1084-resolvidocomo-fazer-um-combo-em-cascata-usando-cidade-e-estado?highlight=cidade
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]Caixas de Combinação interligadas que aceitam novos registros Empty Grato.

    Mensagem  Walter 2/2/2012, 15:32

    Estive em ferias por um tempo e só agora vou testar as sugestãoes.
    Obrigado,
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 17/04/2011

    [Resolvido]Caixas de Combinação interligadas que aceitam novos registros Empty Re: [Resolvido]Caixas de Combinação interligadas que aceitam novos registros

    Mensagem  Walter 6/2/2012, 16:18

    Boa tarde, Balem.
    Certo. Estou tentando fazer com duas tabelas, mas o que eu queria mesmo é que o digitador pudesse incluir um novo Estado e/ou um novo Municipio, nessa combo, sem precisar abrir um formulário para incluir. Quando a combo não é interligada com outra, o código abaixo funciona legal, mas não funciona com as mesmas interligadas. Queria saber se tem como fazer esse código.

    Private Sub cboCidade_NotInList(NewData As String, Response As Integer)
    Dim sql As String
    If MsgBox("Cidade não Cadastrado" & Chr(13) & Chr(13) & "Deseja cadastrar a Cidade " & UCase(NewData) & " agora?", vbYesNo, "Cadastro") = vbYes Then
    sql = "INSERT INTO Tbl_Estado(Cidade) VALUES ('" & NewData & "')"
    DoCmd.RunSQL sql
    Response = acDataErrAdded
    Else
    Response = acDataErrDisplay
    End If
    End Sub

    Obrigado.
    avatar
    Convidado
    Convidado


    [Resolvido]Caixas de Combinação interligadas que aceitam novos registros Empty Re: [Resolvido]Caixas de Combinação interligadas que aceitam novos registros

    Mensagem  Convidado 6/2/2012, 19:37

    Teste e retorne....

    Dim strMessage As String
    Dim dbs As Database
    Dim rst As DAO.Recordset
    strMessage = "Deseja adicionar '" & NewData & "' ao cadastro de Cidade?"

    If Confirmar(strMessage) Then
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("select * from sua tabela")
    rst.AddNew
    rst!Nome do campo na tabela= NewData
    rst.Update
    Response = acDataErrAdded
    Else
    Nome do campo da caixa.Undo
    Response = acDataErrContinue
    Exit Sub
    End If
    Me.Nome do campo da caixa.Value = NewData
    rst.Close
    Set rst = Nothing
    Set dbs = Nothing
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Caixas de Combinação interligadas que aceitam novos registros Empty Re: [Resolvido]Caixas de Combinação interligadas que aceitam novos registros

    Mensagem  vieirasoft 6/2/2012, 19:58

    O amigo Walter pediu para colocar aqui


    Conteúdo patrocinado


    [Resolvido]Caixas de Combinação interligadas que aceitam novos registros Empty Re: [Resolvido]Caixas de Combinação interligadas que aceitam novos registros

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 00:54