Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-05-2003
icecold2 icecold2 is offline
Miembro
 
Registrado: may 2003
Ubicación: Inca(Mallorca)
Posts: 11
Poder: 0
icecold2 Va por buen camino
Implemetar tabla con fechas

Hola a todo el grupo intento hacer este insert pero no me funciona. Las dos tablas tienen los mismos campos (en la que inserto es una copia identica de la primera). Pero cuando lo ejecuo me da Type mistmathc error. Gracias a Todos
Dm.Factura.SQL.Add('Insert into Prova');
Dm.Factura.SQL.Add('Select * from Albaran');
Dm.Factura.SQL.Add('Where fecha Between 05/01/2003 AND 05/05/2003');
Dm.Factura.Open;Dm.Factura.SQL.Add('Insert into Prova');
Dm.Factura.ExecSql;
Responder Con Cita
  #2  
Antiguo 11-05-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Hola, vamos a ver, el primer insert que haces diría que está bien, pero en lugar de un Open lo que tienes que hacer es un ExecSQL. Es decir:

Código:
Dm.Factura.SQL.Add('Insert into Prova');
Dm.Factura.SQL.Add('Select * from Albaran');
Dm.Factura.SQL.Add('Where fecha Between 05/01/2003 AND 05/05/2003');
Dm.Factura.ExecSQL;
El segundo es incorrecto, porqué haces un Add de la línea 'Insert into Prova' sin haber vaciado antes el query, con lo que el query que intentas ejecutar te queda así:

Código:
Insert into Prova
Select * from Albaran
Where fecha Between 05/01/2003 AND 05/05/2003
Insert into Prova
Evidentemente ese query es incorrecto.

Saludos.
Responder Con Cita
  #3  
Antiguo 11-05-2003
icecold2 icecold2 is offline
Miembro
 
Registrado: may 2003
Ubicación: Inca(Mallorca)
Posts: 11
Poder: 0
icecold2 Va por buen camino
Veamos lo que dices tu del primer insert es lo unico que realmente pongo y ademas lo e probado un Open y con un ExecSql, pero me sigue dando el mismo error. Muchas gracias
Responder Con Cita
  #4  
Antiguo 11-05-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Ups Sorry

Estaba en la parra cuando te he contestado

El problema es que las fechas deben ir entre comillas

Código:
Dm.Factura.SQL.Add('Insert into Prova');
Dm.Factura.SQL.Add('Select * from Albaran');
Dm.Factura.SQL.Add('Where fecha Between ' + QuotedStr('05/01/2003') + ' AND ' + QuotedStr('05/05/2003'));
Dm.Factura.ExecSQL;
Saludos
Responder Con Cita
  #5  
Antiguo 11-05-2003
icecold2 icecold2 is offline
Miembro
 
Registrado: may 2003
Ubicación: Inca(Mallorca)
Posts: 11
Poder: 0
icecold2 Va por buen camino
Me ha ido de lujo, el unico problemilla que se me a ocurrido ahora es que claro los meses siempre seran los mismos, pero como hago para cambiar el año, es decir que el año sea el que el usuario ponga en un edit. Muchas gracias
Responder Con Cita
  #6  
Antiguo 11-05-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Hola de nuevo,

pues seria tan sencillo como eso:

Código:
var
  fecha1, fecha2: String;
begin
  //en el edit debe haber un año válido
  fecha1:= '01/05/' + Edit1.Text;
  fecha2:= '05/05/' + Edit1.Text;
  //lanzamos el query
  Dm.Factura.SQL.Add('Insert into Prova');
  Dm.Factura.SQL.Add('Select * from Albaran');
  Dm.Factura.SQL.Add('Where fecha Between ' + QuotedStr(fecha1) + ' AND ' + QuotedStr(fecha2));
  Dm.Factura.ExecSQL;
Un saludo
Responder Con Cita
  #7  
Antiguo 11-05-2003
icecold2 icecold2 is offline
Miembro
 
Registrado: may 2003
Ubicación: Inca(Mallorca)
Posts: 11
Poder: 0
icecold2 Va por buen camino
Gracias me ha ido perfecto lo unico que las fecha1 y fecha dos las has puesto al reves dd/mm, pero nada lo he cambiado y listo. Muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:23:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi