locked
Tabela Vinculada SQL Server RRS feed

  • Pergunta


  • Olá pessoal,


    Seguinte, eu estou com um probleminha chato, mas talvez alguém já passou por isso.


    Eu tenho um formulário em modo folha de dados, com dois controles combobox.
    A lista do segundo combobox é preenchida conforme a escolha do primeiro combobox.
    Até aí blz.
     
    O que ocorre é o seguinte. Toda vez que eu clico no segundo combobox (evento Enter) para carregar a lista
    conforme a escolha do primeiro combobox, ao passar o mouse nos outros registros do formulário em modo folha
    de dados, os valores se apagam (visualmente), exceto os relacionados a lista do primeiro combobox.


    Percebi que isso só ocorre em tabelas vinculadas ao Microsoft SQL Server. Fiz um teste colocando as tabelas
    no próprio Access, e esse "bug" não ocorre.


    Gostaria de saber se isso tem solução!

     


    Caso alguém não tenha entendido bem, façam o download de um exemplo que eu montei.


    http://rapidshare.com/files/25657304/FolhaDados.mdb.html


    Só peço para exportar as tabelas para o SQL Server, e vinculá-las com o mesmo nome para as consultas
    funcionarem.


    sexta-feira, 13 de abril de 2007 01:00

Respostas

  • O campo não precisa estar vinculado ao SQL Server para gravar. Pode estar vinculado ao Access e depois gravado no SQL Server por meio de uma Procedure. Evidentemente não é a melhor arquitetura, mas se realmente precisar resolver o problema na interface, pode ser uma alternativa.

     

    Particularmente acho que não compensa muita manipulação de dados em razão do efeito visual, procuraria resolver mudando a interface.

    sábado, 14 de abril de 2007 02:31
    Moderador

Todas as Respostas

  • Oi Kleber,

     

    eu entendi o problema, pois também uso o recurso do Enter/Exit para mudar o RowSource de combos dependentes em formulários contínuos. Nunca, porém, fiz com tabelas vinculadas do SQL Server.

     

    Na minha opinião o certo é justamente "apagar" o valor dos outros registros, já que a origem de linha traz um conjunto de registros que não os inclui, e o que seria "bug" (que felizmente existe) é o Access não atualizar a tela, mantendo todas as linhas preenchidas.

     

    O vínculo com o SQL deve fazer com que a tela se atualize, o que no seu caso é ruim.

     

    Não sei bem o que sugerir, mas experimente alimentar a combo com uma consulta Pass-Through em vez de fazer SELECT direto na tabela vinculada.

     

    Outra alternativa seria carregar os dados numa tabela local do Access (no próprio front-end).

    sexta-feira, 13 de abril de 2007 01:53
    Moderador
  • Olá Luiz,

    Obrigado pelas sugestões, porém não consegui resolver meu problema.

    Percebi que o problema não é nos dados da lista que são carregados, mas sim no controle que está vinculado a um campo da tabela no SQL Server. Ou seja, mesmo eu criando a tabela da lista no Access, o fato do resultado ser gravado em uma tabela do SQL Server é que ocorre este problema.

    Como eu obrigatoriamente preciso gravar isso no SQL Server, e este campo precisa estar vinculado, eu infelizmente não vou conseguir resolver este problema.

    Mas mesmo assim, agradeço pela atenção e ajuda.

    Abs,

    Kleber
    sexta-feira, 13 de abril de 2007 15:32
  • O campo não precisa estar vinculado ao SQL Server para gravar. Pode estar vinculado ao Access e depois gravado no SQL Server por meio de uma Procedure. Evidentemente não é a melhor arquitetura, mas se realmente precisar resolver o problema na interface, pode ser uma alternativa.

     

    Particularmente acho que não compensa muita manipulação de dados em razão do efeito visual, procuraria resolver mudando a interface.

    sábado, 14 de abril de 2007 02:31
    Moderador
  • OK Luiz, obrigado pelas dicas!!!

    Abs,

    Kleber
    quarta-feira, 18 de abril de 2007 16:36