USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Pepino
ricardo_27
CACHOEIRINHA
RS - BRASIL
Postada em 24/04/2006 03:24 hs            
Preciso editar um campo de uma tabela, porém não estou conseguindo dentro de um loop. Estou usando DAO Jet no Access:
 
 
   O erro ocorre quando chega no Resultado.Edit, a mensagem de erro diz que esse tipo de objeto não suporta essa operação. 
 
    gsql = "Select * from pedidos"
    Set Resultado = BaseDados.OpenRecordset(gsql, dbOpenSnapshot)  
    Do Until Resultado.EOF
              If Resultado!cod_pedido = txtCodPed Then
                    Resultado.Edit    'Aqui ocorre o problema
                    Resultado!pendente="NAO" 
              End If
    Resultado.MoveNext
    Loop
    Resultado.Close
 
 
Se alguém já passou por isso ou souber como usar outra lógica ou sintaxe para resolver, desde já agradeço a ajuda!
 
     
Cardoso G
Pontos: 2843 Pontos: 2843
PATOS DE MINAS
MG - BRASIL
Postada em 24/04/2006 07:55 hs            
nao trabalho mais com dao faz tempo, mas acho que um recordset aberto como snapshot nao pode ser editado
     
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 24/04/2006 08:20 hs         

O Cardoso tem razão, snapshot não é editável ...

gsql = "Select * from pedidos"
    Set Resultado = BaseDados.OpenRecordset(gsql)  
    Do Until Resultado.EOF
              If Resultado!cod_pedido = txtCodPed Then

                    Resultado.Edit    'Aqui ocorre o problema
                    Resultado!pendente="NAO" 
              End If
    Resultado.MoveNext
    Loop
    Resultado.Close
 
     
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
Postada em 24/04/2006 12:21 hs            
Set Resultado = BaseDados.OpenRecordset(gsql, dbOpenTable) 
Pronto resolve seu problema.
 
vlu//
     
ricardo_27
CACHOEIRINHA
RS - BRASIL
ENUNCIADA !
Postada em 25/04/2006 06:04 hs            
Agradeço a ajuda de todos, fui testando e testando e consegui. A jogada é a seguinte:
o  evento Resultado.UpDate deve ser disparado antes de mover o ponteiro de registro para o próximo registro. Assim funciona:
 
gsql = "Select * from pedidos"
    Set Resultado = BaseDados.OpenRecordset(gsql)  
    Do Until Resultado.EOF
         If Resultado!cod_pedido = txtCodPed Then
               Resultado.Edit    'Aqui ocorria o problema
               Resultado!pendente="NAO" 
               Resultado.UpDate  'Isso resolve o problema
         End If
         Resultado.MoveNext
    Loop
    Resultado.Close
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página