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]Erro em módulo utilizando o método Seek e index no Recordset.

    avatar
    Convidado
    Convidado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Convidado 15/12/2012, 21:49

    Boa tarde colegas, em um exemplo que fiz (SysCob) Boletos bancários, no módulo Bar de 1 a 5 ao ser executado dá erro nas linhas:

    tbllookup.Index = "Character"
    tbllookup.Seek "=", Mid$(extstr, Numero, 2)


    Quando fiz o exemplo não dava problemas...

    Ps. Dias atrás reinstalei o windows e o office.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Convidado 16/12/2012, 01:42

    No Código fiz a substituição do método Seek pelo FindFirst..

    Observem e se puderem opinar se retornará o mesmo resultado:

    'tbllookup.Seek "=", Mid$(extstr, Numero, 2)
    tbllookup.FindFirst "[Character] = '" & Mid$(extstr, Numero, 2) & "'"

    Cumprimentos.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Alexandre Neves 16/12/2012, 10:26

    Bom dia, Amigo Piloto
    Substitui [Character] por Character
    Abraço,


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Convidado 16/12/2012, 11:52

    Bom dia Alexandre... O Erro não é na nomeação do campo e sim no método Seek e Index...

    tbllookup.Index = "Character"
    tbllookup.Seek "=", Mid$(extstr, Numero, 2)


    Ao passar por estas linhas dá o erro 3251 (Operação não suportada para este tipo de objeto)

    Tem haver com referencia ou algo assim, pelo que vi o método Seek e Index é atributo do ADO
    So que quando fiz o sistema funcionava...ms ontem fui adaptar a outro sistema e deu esse erro. E eu não mexi em nada do Código.


    Cumprimentos.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  criquio 16/12/2012, 12:36

    E no sistema original funciona? Olhou se o ADO está referenciado nesse que não funciona?
    Verifique as referências em ambos e veja se tem algo diferente.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Convidado
    Convidado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Convidado 16/12/2012, 13:25

    Bom dia Críquio...

    O sistema original tambem não está funcionando.... Como disse talvez seja porque reinstalei o Office...

    Quando é falta de referência na compilação exibe o erro da falta de referência...
    Ativei varias referência ADO, de 2.0 a 2.8 e continuou com o mesmo erro... Se desativo, na compilação aponta o erro para a liha do Seek e Index, se ativo não aponta erro de compilação porém dá o erro que descrevi,

    Estive lendo no site do Marcorati sobre o ADO, e ele aconselha a baixar um sistema da microsoft que verifica qual versão do Ado está instalada na máquina para assim ativar a referência correta... Segundo ele:


    Component Checker (Comcheck.exe). Você pode fazer o
    download no endereço http://www.microsoft.com/data/download.htm

    Método Seek:
    O método Seek permite
    a procura em uma coluna. Ele só encontra os valores iguais ao valor da procura
    e vai precisar de um provedor de dados que permita a utilização da
    propriedade
    Index e o
    método
    Seek. (Nem
    todos os provedores permitem). Além disso o método
    Seek
    vai requerer um cursor do lado do servidor .


    Atualmente , somente alguns provedores permitem usar a
    propriedade Index e o método
    Seek
    do objeto Recordset para procurar por valores em um índice de uma tabela.
    O provedor OLE DB - Provider for Microsoft Jet 4.0 - que é usado para se
    conectar a um banco de dados access permite a utilização do método

    Seek
    ..

    Para verificar se o provedor suporta a propriedade Index
    e o método Seek
    podemos usar o método Supports com os parâmetros adIndex e
    adSeek.
    Veja o exemplo abaixo:




    If rs.Supports(adIndex) then
    msgbox "Este Provedor suporta a propriedade Index"
    endif

    If rs.Supports(adSeek) then
    msgbox "Este Provedor suporta a propriedade Seek"
    endif

    Método Find:

    O método Find é usado para encontrar um
    registro que contém um determinado valor em um determinado campo do registro.
    Você define um critério de busca e se o critério satisfeito o ponteiro do
    registro se posiciona no registro que atendeu o critério, se o critério não
    foi atendido o ponteiro se posiciona no fim do recordset. A sintaxe é a
    seguinte:

    O Código é utilizado para a seguinte função:

    O Código de Barras de um boleto bancário é composto de 44 números, o código faz a divisão) separando-os de 2 em 2 para buscar a representação gráfica na tabela Barras. Na tabela barras existem 2 campos: Character e Pattern onde

    Character: possui valores que vão de: 00 a 99 (tipo texto)
    Pattern: é a representação gráfica do Character ex: 01 = SLSSLSLSSL / 02 = SSSLLSLSSL

    Então o código divide o cód de barras de 2 em 2 e pelo método Seek procura a representação gráfica correspondente.

    Supondo que o código de barras é:
    39996554800000001101111100001000546666666001
    Sendo dividido de 2 em 2:
    39-99-65-54-80-00-00-00-11-01-11-11-00-00-10-00-54-66-66-66-60-01

    Assim executa um: For x = 1 To 22 (que é a quantidade do Cód de barras / 2)
    E o método Seek busca a representação gráfica para os pares, ex:

    39 = LSLLSSSLSS
    99 = SSLLSSLLSS
    65 = SLLSLLSSSS
    54 = LSSSLLSSSL
    e assim sucessivamente....


    Pergunto:


    a substituição que fiz produzirá o mesmo resultado?

    'tbllookup.Seek "=", Mid$(extstr, Numero, 2)
    tbllookup.FindFirst "[Character] = '" & Mid$(extstr, Numero, 2) & "'"


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Convidado 26/12/2012, 19:16

    Novidades por aqui?

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Convidado 3/1/2013, 19:55

    Alguma novidade por aqui?

    Cumprimentos.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Alexandre Neves 3/1/2013, 20:11

    Olá Piloto e Feliz Ano
    Não entendi onde tens dúvida.
    Pretendes criar o ciclo que referiste?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Convidado 3/1/2013, 21:35

    Boas Alexandre e Feliz Ano Novo a ti também...

    Bem.. observe a explicação abaixo.... O Código utilizava o Seek e Index para encontrar valores no recordset, como o Seek e o Index não está a funcionar mais, creio porque reinstalei o office e tem algo haver com o ADO... eu substitui pelo findFirst... O que preciso é saber se em sua opinião a substituição que fiz produzirá o mesmo resultado. Segue explicação:
    =============================================================================================



    O Código de Barras de um boleto bancário é composto de 44 números, o
    código faz a divisão) separando-os de 2 em 2 para buscar a
    representação gráfica na tabela Barras. Na tabela barras existem 2
    campos: Character e Pattern onde

    Character: possui valores que vão de: 00 a 99 (tipo texto)
    Pattern: é a representação gráfica do Character ex: 01 = SLSSLSLSSL / 02 = SSSLLSLSSL

    Então o código divide o cód de barras de 2 em 2 e pelo método Seek procura a representação gráfica correspondente.

    Supondo que o código de barras é:
    39996554800000001101111100001000546666666001
    Sendo dividido de 2 em 2:
    39-99-65-54-80-00-00-00-11-01-11-11-00-00-10-00-54-66-66-66-60-01

    Assim executa um: For x = 1 To 22 (que é a quantidade do Cód de barras / 2)
    E o método Seek busca a representação gráfica para os pares, ex:

    39 = LSLLSSSLSS
    99 = SSLLSSLLSS
    65 = SLLSLLSSSS
    54 = LSSSLLSSSL
    e assim sucessivamente....


    Pergunto:


    a substituição que fiz produzirá o mesmo resultado?

    'tbllookup.Seek "=", Mid$(extstr, Numero, 2)
    tbllookup.FindFirst "[Character] = '" & Mid$(extstr, Numero, 2) & "'"



    Cumprimentos.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Alexandre Neves 3/1/2013, 22:24

    Aparentemente, sim
    Convém colocar, antes de fazer a procura, o ponteiro no início do recordset: tbllookup.MoveFirst
    Abraço,


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Convidado 4/1/2013, 00:13

    Beleza Alexandre... Agora.. O motivo de o porque o Seek e o Index nao funcionar.. isso eu não consegui resolver...

    Tem haver com o ADO... e parou de funcionar depois que reinstalei o access... pode er falta de algum Service Pack...
    Creio ser melhor deixar o Método FindFirst..

    Abraços.

    Conteúdo patrocinado


    [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset. Empty Re: [Resolvido]Erro em módulo utilizando o método Seek e index no Recordset.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 21:52