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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  SQL - Please - Urgente
Márcio
SANTO ANDRÉ
SP - BRASIL
Postada em 30/06/2004 08:54 hs            
Olá Pessoal
Tenho uma tabela chamada Funcionarios e existe nela estes campos: "Ordem" e "Nome", dentre outros.
O campo ordem recebe valores do tipo int, e serve para ordenar a lista de funcionarios. Sendo assim, caso o usario queira reordenar por ordem alfabetica a lista clicando no botao no form "Reordenar por ordem alfabetica", o programa tem que executar uma Query que faça o mesmo, ou seja fazer um update nos registros, no campo ordem, reordenando por ordem alfabetica, ou seja:
Se minha tabela contiver
NOME         ORDEM
Almir              3
Jorge             1
Ricardo           5
Carlos             2
Henrique         4
 
Apos o Update, tem que ficar assim:
NOME         ORDEM
Almir              1
Jorge             4
Ricardo           5
Carlos             2
Henrique         3
 
Alguem sabe como eu posso fazer isso?
 
Muito Obrigado.
 
Márcio
 
     
defende
não registrado
Postada em 30/06/2004 13:56 hs   
Vc quer saber como fazer as Querys ou como fazer o projeto pra que isso aconteca?
 
Se for as Querys eh facil:
Order por nome em ordem Crescente
 - Select ordem,nome From funcionarios order by nome ASC
Ordem por nome decrescente
- Select ordem,nome From fucionarios order by nome DESC
 
Faca a mesma coisa somente trocando o nome dos campos no order By ....
 
Valeu
     
Márcio
SANTO ANDRÉ
SP - BRASIL
ENUNCIADA !
Postada em 30/06/2004 14:11 hs            
Isso beleza. Agora preciso fazer o update no campo ORDEM com essa ordem crescente...
Assim, o primeiro registro do select, tenho que fazer um update Set Ordem = 1,
no segundo registro desse select, tenho que fazer um update Set Ordem=2 ...etc...
 
   
Eriston
SÃO PAULO
SP - BRASIL
Postada em 30/06/2004 14:49 hs            
Depois um loop jogando o numero de ordem...
Dim i
i = 1
tabela.moveL.a.s.t
tabela.moveF.i.r.s.t
while Not tabela.Eof
strSQL="Update fucionarios set ordem=" & i
conexao.execute strQSL
tabela.movenext
i = i + 1
wend
conexao.close
set conexao = nothing
 
Acho que pode ajudarEmoções
 
t+
 
 
- Eriston
     
Márcio
SANTO ANDRÉ
SP - BRASIL
ENUNCIADA !
Postada em 30/06/2004 14:54 hs            
Entao Eriston, Mas preciso fazer isso Dentro de uma stored Procedure, voce sabe como posso fazer??
   
Eriston
SÃO PAULO
SP - BRASIL
Postada em 30/06/2004 15:15 hs            
Nesse caso ficaria +/- assim:
 
CREATE PROCEDURE dowhile()
BEGIN
  DECLARE i INT DEFAULT 1;
  WHILE i =< (nº de registro encontrados) DO
        SET ordem = i;
       (proximo registro);
   END WHILE;
END
 
Não conheço os demais comandos, + acho que seria isso...
 
T+
 
- Eriston
     
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-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página