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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Delete (SQL)
geronimo
não registrado
Postada em 15/06/2007 20:06 hs   
Sem problemas, não tenho campo chave....
     
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
ENUNCIADA !
Postada em 15/06/2007 21:10 hs            
Sem problemas... não tem campo chave.....
 

"O pior inimigo que você poderá encontrar será sempre você mesmo."
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 19/06/2007 02:35 hs            
Tenta o seguinte código sendo CONEXAO a varíavel representativa do objeto ADODB.CONNECTION e RS como um ADODB.Recordset:
 
DIM NOME_TABELA AS STRING
DIM SQL AS STRING

'AGRUPA POR DESCRICAO
SQL = "SELECT DESCRICAO FROM TABELA GROUP BY DESCRICAO"
RS.OPEN SQL, CONEXAO
 
'CRIA AS TABELAS TEMPORARIAS E INSERE OS DADOS CORRESPONDENTES A CADA TABELA DE ACORDO COM A DESCRIÇÃO
DO WHILE NOT RS.EOF
 NOME_TABELA = F_CREATE_TABLE (RS(0))
 SQL = "SELECT DESCRICAO, HORASAIDA, DATASAIDA INTO " & NOME_TABELA & _
       " FROM TABELA WHERE DESCRICAO = '" & RS(0) & "'"
 
 CONEXAO.EXECUTE SQL
 RS.MOVENEXT
LOOP
 
'DELETA TODOS OS DADOS DA TABELA
SQL = "DELETE FROM TABELA"
CONEXAO.EXECUTE SQL
 
RS.MOVEF IRST

'INSERE OS DADOS DAS TABELAS TEMPORÁRIAS PARA A TABELA PRINCIPAL
DO WHILE NOT RS.EOF
 CALL S_INSERE_DADOS (RS(0))
 RS.MOVENEXT
LOOP
 
'APAGA AS TABELAS TEMPORARIAS
RS.MOVEF IRST
 
DO WHILE NOT RS.EOF
 SQL = "DROP TABLE TABELA_" & RS(0)
 CONEXAO.EXECUTE SQL
 RS.MOVENEXT
LOOP

PRIVATE FUNCTION F_CREATE_TABLE(BYVAL NOME_TAB AS STRING) AS STRING
 
DIM SSQL AS STRING
DIM TABELA AS STRING
 
TABELA = "TABELA_" & NOME_TAB
 
SSQL = "CREATE TABLE " & TABELA & _
 " (DESCRICAO TEXT(50), HORASAIDA TIME, DATASAIDA DATE)"
F_CREATE_TABLE = TABELA
 
CONEXAO.EXECUTE SSQL
 
END SUB
 
PRIVATE SUB S_INSERE_DADOS(BYVAL NOME_TAB AS STRING)
 
DIM TABELA AS STRING
 
TABELA = "TABELA_" & NOME_TAB
 
SQL = "SELECT TOP 3  DESCRICAO, HORASAIDA, DATASAIDA INTO TABELA FROM " & TABELA & " ORDER BY DATASAIDA DESC, HORASAIDA DESC"

CONEXAO.EXECUTE SQL
END SUB
 
 
 
Este é um exemplo somente. Vc irá inserir os campos de acordo com sua necessidade. Lembrando que usei "TOP 3" para pegar os primeiro 3 registros da tabela em ordem DECRESCENTE, ou seja, as datas mais recentes com as horas mais recentes. Sempre coloque as tabelas temporárias com a mesma estrutura da tabela principal e/ou com os campos que vc irá precisar.
 
Qualquer problema posta ae
 
at+
TÓPICO EDITADO
   
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
ENUNCIADA !
Postada em 19/06/2007 16:30 hs            
So um detalhe como ficaria a conexão dao, não utiizo ado e faz um tempo que vi a diferença entre as duas conexões...
Por  enquanto obrigado...

"O pior inimigo que você poderá encontrar será sempre você mesmo."
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 19/06/2007 17:24 hs            
mesma coisa... so que em vez de ADODB.CONNECTION seria seu BD AS DATABASE
 
bd.execute SQL
 
e os recordsets são quase "iguais"... :)
 
SET RS = BD.OPENRECORDSET SQL
 
Qualquer outra dúvida posta por favor.
 
at+
   
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
Postada em 19/06/2007 18:42 hs            
Beleza!!!
valeu pela lembrança....
sds geronimo

"O pior inimigo que você poderá encontrar será sempre você mesmo."
     
Página(s): 2/2     « ANTERIOR  

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