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


    [Resolvido]Caixa de combinação baseado em outra

    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Caixa de combinação baseado em outra

    Mensagem  njunior 10/6/2013, 12:16

    Bom dia!

    Pessoal, no access 2010, tenho duas caixas de combinação (uma fiz cópia da outra) em um subformulário que uma puxa os dados da outra.
    1ª caixa - Seleciona o ClientName (onde possui Projeto, ClientName)
    2ª caixa - traz o Projeto (onde possui Projeto, ClientName - esse eu coloquei a largura em 0).

    O problema: Fica sumindo os dados da 1ª caixa de combinação e quando eu clico em algumas delas ele aparece em alguns e some em outros...

    O que pode ser isso?

    Muito obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 27/6/2013, 23:44

    Ajudaria se nos postasse um exemplo em 2007, poucos tem 0 2010.

    Cumprimentos.
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 1/7/2013, 11:09

    PILOTO, BOM DIA!

    Sinto muito pela demora, mas estava tentando copiar uma parte do banco que está com esse "problema", o detalhe é que esse banco é de outro local (Suíça), a não ser se enviar sem os dados da tabela mas não sei se ajudará. Pode ser assim?

    Só um detalhe, olhando no fórum me deparei com alguns colegas que tiveram o mesmo problema, e foram ajudados informando que seria necessário retirar o ">" do form. E só pra adiantar, retirei de todos os forms, tabelas e relatórios.
    O engraçado é que é uma cópia do combobox, por que será que desaparece?

    Muito grato mesmo pela sua ajuda.

    "Ah esqueci de comentar, que ele foi desenvolvido na versão 2003 e está sendo utilizado pelo 2010."
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 1/7/2013, 16:28

    Apague os dados da tabela e coloque alguns dados ficticios para que eu possa testar e envie-nos.

    Cumprimentos.
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 4/7/2013, 13:13

    PILOTO, boa tarde!

    Me desculpe mesmo a demora, é que pra conseguir destravar não foi fácil.

    Bem vamos lá.
    Tem um form MAin Menu e escolha All no Expense Report.
    Depois vá clicando nas combos e vc verá que os dados ficam invisíveis, não somem, mas sim ocultam.
    Já tentei de tudo e nada. Até reinstalei o office além de fazer o form novamente em um banco em branco.

    Puxa já estava sem esperanças.

    Obrigado por me ajudar.
    Anexos
    [Resolvido]Caixa de combinação baseado em outra AttachmentTeste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (175 Kb) Baixado 17 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 4/7/2013, 17:44

    Cite exemplo do que seleciona na
    1 - Combo
    2 - Combo
    3 - Combo etc..

    Para que eu reproduza seus passos..

    Ex. na primeira combo seleciona-se:

    Billable ou Non-Billable...

    O que voce seleciona na primeira, segunda, terceira etc..

    Cumprimentos.
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 4/7/2013, 17:55

    Então faz-se o seguinte:

    Bem, quando se escolhe um item da combo (Billabe/NonBillabe), ele filtra dados para escolher.
    Para Billabe - Nome dos clientes, etc.
    Para NonBillabe - Status dessa informação.

    Na realidade é indiferente, o que está ocorrendo é que os dados das combos ficam invisíveis e quando a gente clica nas combos abaixo, ele fica aparecendo e desaparecendo.
    Gostaria de ressaltar que a combo que está "bloqueada", é uma cópia da 1ª.

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 4/7/2013, 22:26

    Combo de baixo???  não estou entendendo..

    Seja mais explícito... a qual combo se refere para que eu teste...

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 4/7/2013, 23:05

    Testei aqui.. selecione dados em todas as combos seguidamente.. e não sumiu nada.

    veja:

    [Resolvido]Caixa de combinação baseado em outra NJunio


    Cumprimentos.
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 5/7/2013, 07:13

    PILOTO, bom dia!
    Question 
    A combinação Assignment é cópia da ClientName, e é na ClientName que está desaparecendo. Veja anexo:

    E quando eu clico dentro dos campos da ClientName, ele aparece alguns e ficam invisíveis outros.

    Muito Obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 5/7/2013, 10:51

    Eu percebi aqui...  A questão creio está nestas macros... Tem que passar estas instruções todas à vb..

    O que ocorre... a Caixa de combinação é uma só, se repetindo registro a registro... No entanto ao atualizar a mesma ela se confunde com o registros acima.. e o apaga...

    Tens que converter estas macros em VB...


    Cumprimentos;
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 5/7/2013, 11:07

    PILOTO, tudo bem?

    Poxa, tudo bem.
    Vou convertê-las para Código VBA e posto aqui para informar o resultado.
    Talvez eu demore um pouquinho mas posto aqui para comentar.

    Muito obrigado pela sua ajuda e parabéns à todos!

    Até breve!
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 5/7/2013, 12:42

    Ja cheguei a conclusão do porque ocorre o erro...

    Depois que atualiza a primeira caixa de combinação >>> Bilable / Non-Bilables....

    Ao clicar na combo Assigmente, está será preenchida no seu RowSource com tabelas dependendo do dado escolhido "Bilable / Non-Bilable"

    No campo Assigments na tabela ficam gravados textos diferentes para cada caso

    O Primeiro é o tipo de dado se voce escolhe Bilable
    O Segundo é o tipo de dado de voce escolhe non-bilable
    Expenses_Table
    [th]Assignment[/th]
    AM-0086-SP-0043-SP
    Corporate
    [th][/th]

    O que ocorre?  Quando voce seleciona Bilable veja como fica A rowSource da caixa de combinaçào:
    SELECT Assignments.AssignmentNumber, Assignments.ClientName, Assignments.Position
    FROM Assignments
    ORDER BY Assignments.AssignmentNumber, Assignments.ClientName, Assignments.Position;

    Quando voce seleciona Non- Bilable veja como fica A rowSource da caixa de combinaçào:
    "SELECT TAM.TAM, TAM.TAM FROM TAM ORDER BY TAM.TAM;"


    Agora deixa eu ver se consigo fazer voce entender...

    O Campo na tabela tem um valor gravado... Para dados Bilable e Para dados Non-bilable...
    Estes tipos de dados são diferentes...


    Bilable é um tipo de código >>>> AM-0086-SP-0043-SP
    Non-Bilable é texto  >>>  Corporate



    Então em um dos registros quando voce seleciona Non-Bilable é preenchida com outro recordSource...
    So que para exibir por exemplo o nome do cliente a combo precisa estar carregada com a SQL respectiva a dados Bilable...
    Como ela esta preenchida com dados Non-Binable... na SQL na combo ela nao encontra o dado equivalente para retornar...

    Faça um teste...

    Em um registro insira 10 dados... 5 Non-Bilables e 5 Bilables....
    Clique no botao de navegaçao para avança 1 registro no form... depois retone

    Verá que o que sumiu foi um dos dados... OU bilable ou non-Bilable...
    Agora neste registro, supondo que os dados ocultados sejam do tipo Bilable... em uma das combo altera para Bilable... Avança e retorna o registros vera que agora quem ficou oculto foram os dados Non-Binable

    Conclusão..

    A combo não exibirá os registros cuja sua origem da linha esteja carregado com uma SQL diferente...


    Compreendeu?
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 5/7/2013, 12:48

    A solução para isto... no subform clique na secção detalhes... e no evento ao Pintar:

        If Me!Billable = "Billable" Then
            Me!Assignment.RowSource = "SELECT Assignments.AssignmentNumber, Assignments.ClientName, Assignments.AssignmentNumber, Assignments.Position FROM Assignments ORDER BY Assignments.ClientName,Assignments.Position, Assignments.AssignmentNumber;"
        End If
        If Me!Billable = "Non-Billable" Then
            Me!Assignment.RowSource = "SELECT TAM.TAM, TAM.TAM FROM TAM ORDER BY TAM.TAM;"
        End If

     
    Eis o exemplo já com macros convertidas.
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 8/7/2013, 10:45

    PILOTO, bom dia! Tudo bem?

    Eu entendi sua explicação. Abri seu exemplo, e ao testar ele não deixa eu escolher item da combi ClientName. Ao clicar na combo, ele aparece e fecha e não deixa eu seguir a operação.
    Como compreendi sua explicação, tentarei ver o que está ocorrendo.
    Ah propósito, no seu exemplo acontece essa situação que ocorreu comigo?

    Abraços e muito obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 8/7/2013, 12:05

    Criei uma variável do tipo boolean para cancelar o evento ao pintar após selecionar na primeira combo.

    Eis:

    Option Compare Database
    Option Explicit
    Dim blnCancel As Boolean



    Private Sub Assignment_AfterUpdate()
    blnCancel = False
    End Sub

    Private Sub Billable_AfterUpdate()
    blnCancel = True
    Me!Assignment = ""
    If Me!Billable = "Billable" Then
    Me!Assignment.RowSource = "SELECT Assignments.AssignmentNumber, Assignments.ClientName, Assignments.AssignmentNumber, Assignments.Position FROM Assignments ORDER BY Assignments.ClientName,Assignments.Position, Assignments.AssignmentNumber;"
    End If
    If Me!Billable = "Non-Billable" Then
    Me!Assignment.RowSource = "SELECT TAM.TAM, TAM.TAM FROM TAM ORDER BY TAM.TAM;"
    End If
    End Sub

    Private Sub Detail_Paint()
    On Error Resume Next
    If blnCancel = True Then
    Exit Sub
    Else
    If Me!Billable = "Billable" Then
    Me!Assignment.RowSource = "SELECT Assignments.AssignmentNumber, Assignments.ClientName, Assignments.AssignmentNumber, Assignments.Position FROM Assignments ORDER BY Assignments.ClientName,Assignments.Position, Assignments.AssignmentNumber;"
    End If
    If Me!Billable = "Non-Billable" Then
    Me!Assignment.RowSource = "SELECT TAM.TAM, TAM.TAM FROM TAM ORDER BY TAM.TAM;"
    End If
    End If
    End Sub


    Cumprimentos.
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 8/7/2013, 12:17

    PILOTO, tudo bem?

    Farei os testes e em breve te retorno ok?

    Muito obrigado!
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 22/7/2013, 08:19

    PILOTO, bom dia!

    Fiz os testes, e engraçado que em uma máquina funcionou normal. Beleza. Quando fui responder a você, resolvi antes fazr um teste na máquina de um outro usuário. Não funcionou... Não entendi.
    Então o que fiz, pedi para o pessoal da TI, reinstalar o office em todas as pessoas envolvidas nesse sisteminha, inclusive na minha máquina, por isso a demora, tive que esperar a boa vontade deles.
    Bem, feito isso nessa última sexta-feira, fiz novamente os testes e na máquina que estava funcionando. Parou de novo...

    O que estou pensando em fazer:
    REFAZER O BANCO DO ZERO e seguir seu conselho em converter as macros todas para VBA. Estou equivocado, ou uma das soluções seria essa mesmo?

    Mais uma vez desculpe a demora e muito obrigado pela sua atenção!
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 23/7/2013, 10:18

    Bom dia... O problema que verifiquei, apesar de no início pensar que eram com as macros, não são elas o problemas e sim como citei na mensagem de número 13... Na minha humilde opinião esta forma está equivocada justamente por preencher a Rowsource da combo com duas tabelas diferentes dependendo da informação da primeira combo (Bilable/No Bilable).

    Como a caixa é preenchida gradativamente no evento ao pintar da seção detalhe... caso esteja com a RouwSource diferente da informação condizente com a primeira combo.. ela não retorna dados.


    Eu faria isto de forma diferente... transformaria a combo em caixa texto.. e no evento ao clicar abriria um form de pesquisa com uma listBox com as informações pertinentes aos dados da primeira combo (Bilable/No Bilable) e ao selecionar um registro da listBox.. lançaria o dado na caixa texto fechando em seguida o form.


    Cumprimentos.
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 23/7/2013, 10:31

    Bom dia, PILOTO! Como vai

    Bem, agora que comentou, pensei em fazer o seguinte?

    Eliminar a 2 combo (que e uma copia) e colocar um textbox...
    ao selecionar o item na combo clientName ele PROCURA NA TABELA e retorna o projeto do cliente selecionado...

    Vou tentar e posto ja aqui.

    Caso esteja equivocado, me de um sinal

    Abracos
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 23/7/2013, 14:06

    PILOTO,

    Deixa eu te falar uma coisa. Quando eu tirei o "0" da largura da coluna, ele funcionou só que fica registrado o número do projeto. E desejaria o ClientName.
    Estou fazendo o processo de inversão na Consulta, e engraçado que ele não registra o dado na combo:
    Ele está me dando esse erro:

    "Visual Basic can't convert the data type of one of the arguments you entered
    You tried to run a visual basic procedure that executes a method or set a property  of an object.
    Check the components documentation for information on the properties and methods it makes available for Automation operations."


    Mas a única coisa que fiz, foi tirar o "0" da largura da coluna e posicionar os campos na sequencia que desejo...
    Esqueci de comentar que só quando escolho Billable que acontece isso...

    Fiz algo errado do que comentei aqui?

    Abraços!
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 24/7/2013, 09:13

    Agora tem alguns dados de uma consulta, que não estão aparecendo.
    A versão é 2003 e está sendo usado no 2010.
    Pode ser isso? Digo os problemas em modo geral?
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 13/8/2013, 10:58

    PILOTO, bom dia!

    Segui seu conselho. Alterei a combo por um textbox, ao selecionar o tipo (Billable ou non-Billable) ele abre uma caixa de listagem contendo os dados a escolher. Pois bem, devo ter feito alguma coisa errada ou o problema persistiu. Alguns campos ficaram em branco. Fiz, refiz e continuou do mesmo jeito. Pois bem, cheguei no desejado de um outra forma, seguindo mais ou menos sua idéia.

    * Apaguei a cópia da combo que foi feita.
    * Na consulta criei um campo concatenando o nome do cliente com o Assignment (ClientName&Assignment);
    * Alterei a Rowsource que ficou Client(campo concatenado), ClientName, etc. (os campos desejados)
    Porque fiz isso: Os campos ficavam em branco quando a busca na combo era o nome do cliente, quando selecionava pelo código (Assig.), ele funcionava tudo ok, (desde que a 1ª largura não fosse "0").

    * Depois, ao invés de criar uma cópia da combo como da outra vez, criei uma caixa de texto e coloquei a expressão:
    =IIf([Billable]="Billable";Right([Assignment];18);[Assignment])
    Aí ele irá retornar a informação desejada, que é o nº do projeto que está justamente na combo. (lembrando que o campo está concatenado, por isso a função "Direita", o 18 é porque são exatamente essa quantidade de caracteres que tem o num. do projeto).

    Bom, não sei se foi ou é a melhor solução, mas foi a que eu encontrei no momento. Acho que faria diferente se fizesse o banco do zero.

    Agradeço desde já sua atenção em me socorrer e pelas dicas, que com certeza foram essenciais para outros pontos. E peço desculpas pela demora, pois me deram outro tipo de serviço (urgência) e em casa não tinha como ter acesso.

    Muito obrigado por tudo, darei assim o tópico como resolvido.
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 30/08/2011

    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  njunior 13/8/2013, 11:00

    Muito Obrigado!
    avatar
    Convidado
    Convidado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Convidado 13/8/2013, 11:09

    O Fórum agradece o Retorno.

    Conteúdo patrocinado


    [Resolvido]Caixa de combinação baseado em outra Empty Re: [Resolvido]Caixa de combinação baseado em outra

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 16:30