Guardar en la tabla

Buenas tardes experto necesito de su ayuda nuevamente, tengo dos tablas pero no están relacionadas, la primera tabla tiene tres campos.
semana, fecha_inicial, fecha_final
01               01/01/08     06/01/08
02               07/01/08     13/01/08
03               14/01/08     20/01/08 etc etc....
La segunda tabla es de movimiento ahí entre todos los campos hay uno de fechas, lo que necesito saber cuantas atenciones tengo en la semana 01, 02 o 03 ... Etc, luego llevar toda la información y grabarla en una tabla consolidado, solo guardaría los totales, habrá una forma de que haga el calculo internamente y guarde todos los resultados automáticamente o necesariamente se tiene que hacer uno por uno,
lo estuve intentando pero no guarda nada pero no muestra un mensaje de error debo estar haciendo algo mal. Lo tengo de esta manera
en un combo tengo agregado la tabla donde esta la semana y en los text1 y 2 muestra las fechas, cada vez que elijo en el combo, luego en el boton calcular tengo este codigo
wini=thisform.text1.value
wfin=thisform.text2.value
select conlima.pf_fecha, sum(iif(between(pf_fecha,wini,wfin),1,0)) as total0 ;
from conlima ;
into cursor lima
**brow
do case
case thisform.combo1.value="1"
selec consolidado
append blank
replace sem1 with lima.total0
Endcase
Respuesta
1
disculpa la demora en la respuesta, es que los sabados y domingos hago un relax en el campo y no prendo un computador por recomendación medica, pero ahora estoy devuelta, bueno, con respecto a tu pregunta, como las tablas no estan relacionadas me vi obligado a utilizar una funcion que es llamada desde el sql y retorna cuantas atenciones hubo en la semana x, es asi
close data
use semana alias semana in 0 shared
use movi alias movi in 0 shared
select semana,contar(fechaini,fechafin) as total from semana into cursor xx
brow normal
function contar
lparameter xLaFecha1,xLaFecha2
sele movi
calculate sum(1) for between(fecha,xLafecha1,xLaFecha2) to xTot
return(xTot)
Invente los nombres de las tablas, semana ya sabes que es, y moví es el archivo de movimientos, la función contar esta al pie del programa, también puedes nombrarlo con procedure, si no entiendes como funciona realmente me pides una aclaración, pero no es muy complicado,
Me abrió una curiosidad lo que estas haciendo, veo que usas una tabla semana, en donde le pones los limites entre una semana y otra, no se si los datos que pusiste como ejemplos son aleatorios, ya que una fecha entraba en dos semanas iguales, pero si son solo ilustrativos tal vez no necesites de esa tabla, prueba este código solo con la tabla de movimiento.
select week(fecha) as semana,count(week(fecha)) as total from movi group by semana
Con este código haces el mismo informe sin necesidad de tener la tabla semana, te recomiendo que leas week(), tal vez te sirva esta función, pero tiene sus configuraciones, por eso debes leer bien sobre esta función.
Amigo experto no te preocupes el fin de semana es para descansar, pero la verdad eres increíble me acabas de entregar otra vez la solución al problema que tengo y con dos alternativas, la función week lo voy investigar para aprender más muchas gracias y no pude responder antes ya que fui asaltado y golpeado pero me siente mucho mejor hoy inicio mis clases con normalidad, gracias amigo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas