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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Apenas uma questão de lógica..
MARCONE
Pontos: 2843
BRASÍLIA
DF - BRASIL
Postada em 03/09/2004 09:00 hs            
Tenho uma tabela com a seguinte estrutura:
 
Conta....Data...Historico...Campo2
(vazio)..-----...---------....--------
(vazio)..02/02.pago fatu..Caixa
(vazio)..02/02.pago fatu..(inf. a)
(vazio)..02/02.pago fatu..(inf. a)
(vazio)..02/02.pago fatu..(inf. a)
(vazio)..-----...---------....--------
(vazio)..03/02.pago fatu..Banco X
(vazio)..03/02.pago fatu..(inf. a)
(vazio)..03/02.pago fatu..(inf. b)
(vazio)..03/02.pago fatu..(inf. b)
 
Gostaria de atualizar o primeiro campo (Conta) para que a tabela fique assim:
 
Conta....Data...Historico...Campo2
(vazio)..-----...---------....--------
Caixa..02/02.pago fatu..Caixa
Caixa..02/02.pago fatu..(inf. a)
Caixa..02/02.pago fatu..(inf. a)
Caixa..02/02.pago fatu..(inf. a)
(vazio)..-----...---------....--------
Banco X..03/02.pago fatu..Banco X
Banco X..03/02.pago fatu..(inf. a)
Banco X..03/02.pago fatu..(inf. b)
Banco X..03/02.pago fatu..(inf. b)
 
(...)
 
Estou tentando fazer da seguinte forma:
 
Dim sConta as String
Do While Not rst.EOF 'loop geral para varrer a tabela
If Mid(Trim(rst!Historico), 1, 10) = "----------" Then 'referência para pegar o campo Conta
rst.MoveNext 'vá para o próximo registro pegar o nome da conta
sConta = rst!Campo2
rst!Conta = sConta 'grava a conta no campo Conta
rst.Update
rst.MoveNext
Loop
End Sub
Isso não tá funcionandoEmoções, alguém pode ajudarEmoções?
 
desde já agradeço.

MarconeEmoções

 

TÓPICO EDITADO
   
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 03/09/2004 09:13 hs            
Marcone,
Não sei se entendi tudo, mais não seria mais facil se quando voce gravasse o arquivo voce preenchesse o campo CAMPO2 com CAIXA ou BANCOX assim não ficaria em branco. Depois era so ordenar (usando um Select) e pegar na ordem certa. Tipo
 
Select * from arquivo order by campo2, data
 
e ainda pode ordernar dentro do campo2 pela data. Veja se ajuda
Me responda tambem qual o campo chave da tabela e a finalidade para isso pois não entendia o que voce vai fazer depois com a nova estrutura ?

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
TÓPICO EDITADO
   
MARCONE
Pontos: 2843
BRASÍLIA
DF - BRASIL
Postada em 03/09/2004 09:47 hs            
E aí Rocha, beleza..
 
Cara, essa tabela é fruto da uma importação de um arquivo contábil em formato .txt. A estrutura do arquivo texto é Data...Historico...Campo2 (esse é o problema, pois o Campo2 traz o nome da conta apenas uma vez e abaixo traz informações adicionais):
 
Conta....Data...Historico...Campo2
(vazio)..-----...---------....--------
(vazio)..02/02.pago fatu..Caixa
(vazio)..02/02.pago fatu..(inf. a)
(vazio)..02/02.pago fatu..(inf. a)
(vazio)..02/02.pago fatu..(inf. a)
(vazio)..-----...---------....--------
(vazio)..03/02.pago fatu..Banco X
(vazio)..03/02.pago fatu..(inf. a)
(vazio)..03/02.pago fatu..(inf. b)
(vazio)..03/02.pago fatu..(inf. b)
 
Então, com a finalidade de gerar relatórios e filtrar os registros, criei um campo chamado Conta para vincular cada conta ao seu respectivo registro, para que fique da seguinte forma:
 
Conta....Data...Historico...Campo2
(vazio)..-----...---------....--------
Caixa..02/02.pago fatu..Caixa
Caixa..02/02.pago fatu..(inf. a)
Caixa..02/02.pago fatu..(inf. a)
Caixa..02/02.pago fatu..(inf. a)
(vazio)..-----...---------....--------
Banco X..03/02.pago fatu..Banco X
Banco X..03/02.pago fatu..(inf. a)
Banco X..03/02.pago fatu..(inf. b)
Banco X..03/02.pago fatu..(inf. b)
 
(...)
 
Observe que, com esse novo formato, fica mais fácil filtrar os registros por conta, data, etc., enquanto da forma anterior isso não seria possivel.
 
Se puder ajudar, agradeço,
 
valeu!!

MarconeEmoções

 

TÓPICO EDITADO
   
MARCONE
Pontos: 2843
BRASÍLIA
DF - BRASIL
Postada em 03/09/2004 10:09 hs            
Ao executar a instrução, somente a primeira linha é atualizada e  está gerando o seguinte erro:
 
"Informações insuficientes ou incorretas sobre a coluna-chave.
Muitas linhas foram afetadas pela atualização. "
 
Que coluna chave é essa?Emoções

MarconeEmoções

 

TÓPICO EDITADO
   
WaldirJr
POÇOS DE CALDAS
MG - BRASIL
Postada em 03/09/2004 10:10 hs            
'  Se a Atualização estver relacionada com a Data:
  
   sSql = "SELECT * FROM NomeTabela ORDER BY Data, Campo2 DESC"
  
   Set Rst = dtb.OpenRecordset(g_sql, dbOpenSnapshot)
   Do While Not Rst.EOF
      If Mid(Trim(Rst!Historico), 1, 10) <> "----------" Then
         If sConta <> Rst!Campo2 And Not IsNull(Rst!Campo2) Then
            sConta = Rst!Campo2
         End If
         Rst!Conta = sConta
         Rst.Update
      End If
      Rst.MoveNext
   Loop


'Qualquer coisa, passe a SQL q vc tá usando

________________________

Té +

Que NIMB role bons Dados! Emoções

     
Los Zeus®
Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 03/09/2004 10:19 hs            
Ou se preferir pode ser via Basic mesmo:
 
rst.MoveF_i_r_s_t
 
While rst.EOF = False
    If rst.fields!Campo2 = "Caixa" then
       rst.Edit
       rst.fields!Conta = rst.fields!Campo2
       rst.Update
       rst.MoveN_e_x_t
    Else
       rst.MoveN_e_x_t
   End If
Wend
 
Obs... Ali no lugar da palavra definida (em vermelho) vc pode colocar um text para escrever "Caixa" ou "Banco"....Ignore os underline's nos move's
 
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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