Bases de Datos > MS Access
Sql Que No Ordene Los Datos
lencho:
--- Citar --- si tengo que pensar en otra porque ahora que lo veo, el contador tampoco me sirve nosweat.gif
--- Fin de la cita ---
por que decis que no te sirve ??
Si en realidad es solo aumentar un ID que sea identidad a la tabla A y decirle que lo ordene por ID al momento de la consulta.
BYTE.
UserCode:
porque el ingreso de estos datos los trabaje por Matriz en VB porque eran muchos datos y no queria hacer tantos campos de tabla como Asunto o Motivo, asi que en un Campo llamado "Asunto" meto el Label(i).Caption y en otro campo el Text(i).Text el valor numerico.
y lo comento ilustrandolo con la siguiente imagen :P
http://img292.imageshack.us/img292/4638/tablasgr6.jpg
Desde los ID=3 hasta todos los ID=4 son los datos que trata esta SQL, porque los que dicen ID=1 y los ID=2 son otros datos, otro tipo de gestion (TipoGestion=1). Entonces si cuento no sirve porque por ejemplo, contemos los ID=3 (hay 15) y de los ID=4 tambien hay 15) siempre serán 15 para ese tipo de ingreso, si yo cuento hasta el ultimo ID=3, ¿cómo hago para que el contador, vuelva a contar desde 0 al empezar los ID=4 en una SQL?
La tabla pequeña es como la general y de datos básicos y de control, y la otra, la más grande son el detalle de esos ingresos, en VB funciona fino este tipo de proceso, y en Crystal pues exceptuando el problema del orden, tambien funciona todo bien, tanto camino recorrido sin problemas y andando todo bien para caer en este pequeño pero importante detalle del orden <_<
PD: la relacion que hay entre ambas tablas es de "1 a Muchos" tabla izquierda la pequeña y tabla derecha la de detalles, eso con respecto al ID que si es único en la tabla pequeña.
F_Tanori:
porque no pones las tablas?
a veces este tipo de preguntas cuestan un poco mas de trabajo ayudar, porque hay que 'recostruir el escenario' :P para saber que puede ser
o que se puede ocurrir para ayudar, haciendo pruebas
Saludos
UserCode:
la bd pesa casi 3MB y en una bd en blanco para ver si podía al menos importar esas dos tablas pues, me comio el access en eso :blink:
lo que si puedo improvisar por ahora ya es el poner en escrito como son estas tablas, voy...
DISTMASIVA_GESTCALIDAD
CodRegion (Numerico Simple)
IDSucursal (Texto 5)
Fecha (Fecha corta)
ID (Numero simple)
DISTMASIVA_GESTCALIDAD_DETALLE
ID (Numero Simple)
Asunto (Texto 50)
Cant (numero entero largo)
CodRegion (numero simple)
IDSucursal (texto 5)
Fecha (fecha corta)
TipoGestion (numero simple)
Bueno esas son las dos tablas
entonces tal vez a pie pueda metersele datos, asi como por ejemplo el link del screenshot que puse (porque una imagen vale más que mil palabras :) ) y la SQL también ya está puesta en el primer post.
bueno voy a cruzar los dedos, al menos yo ya llevo bastante tiempo sentado frente al pc, ya al pararme suena como cuando se despega una calcomania :lol: todo pegajoso LOL! sino, le sigo mañana o si logran algo me avisan bueno :comp:
UserCode:
ya lo solucione, B) siempre se sabe que en esto hay que esperar que la materia gris le de la inspiracion cuando quiere y no cuando uno quiere, y bien sencillito que fue, no sé si drastico pero si funciona, pos pa mi esta bien.
Pues la SQL con el problema, la cual es esta:
--- Citar ---SELECT A.Asunto AS ASUNTO, COUNT(A.Asunto) AS N_DE_REGISTROS, SUM(A.Cant) AS CANT
FROM DISTMASIVA_GESTCALIDAD_DETALLE AS A, TB_REPORTE AS REP
WHERE A.CodRegion = REP.CodRegion
And A.IDSucursal = REP.IDSucursal
And (A.Asunto="Sobres Entregados"
Or A.Asunto="Sobres Devueltos"
Or A.Asunto="Entregas Verificadas"
Or A.Asunto="Entregas Realizadas Correctamente"
Or A.Asunto="Mala Atencion - Queja del Cliente"
Or A.Asunto="No Identifico al Destinatario"
Or A.Asunto="Entrego Sobre Abierto y sin Cubierta Plastica"
Or A.Asunto="Acuse de Recibido llenado por el Distribuidor"
Or A.Asunto="Devoluciones Verificadas"
Or A.Asunto="A"
Or A.Asunto="B"
Or A.Asunto="C"
Or A.Asunto="D"
Or A.Asunto="E"
Or A.Asunto="F")
And A.TipoGestion=2
And A.Fecha>=REP.Fecha1 And A.Fecha<=REP.Fecha2
GROUP BY A.Asunto;
--- Fin de la cita ---
Sencillamente la divide en dos SQLs
La primera:
--- Citar ---SELECT A.Asunto AS ASUNTO, COUNT(A.Asunto) AS N_DE_REGISTROS, SUM(A.Cant) AS CANT
FROM DISTMASIVA_GESTCALIDAD_DETALLE AS A, TB_REPORTE AS REP
WHERE A.CodRegion = REP.CodRegion
And A.IDSucursal = REP.IDSucursal
And (A.Asunto="Sobres Entregados"
Or A.Asunto="Sobres Devueltos"
Or A.Asunto="Entregas Verificadas"
Or A.Asunto="Entregas Realizadas Correctamente"
Or A.Asunto="Mala Atencion - Queja del Cliente"
Or A.Asunto="No Identifico al Destinatario"
Or A.Asunto="Entrego Sobre Abierto y sin Cubierta Plastica"
Or A.Asunto="Acuse de Recibido llenado por el Distribuidor"
Or A.Asunto="Devoluciones Verificadas")
And A.TipoGestion=2
And A.Fecha>=REP.Fecha1 And A.Fecha<=REP.Fecha2
GROUP BY A.Asunto;
--- Fin de la cita ---
Y la segunda:
--- Citar ---SELECT A.Asunto AS ASUNTO, COUNT(A.Asunto) AS N_DE_REGISTROS, SUM(A.Cant) AS CANT
FROM DISTMASIVA_GESTCALIDAD_DETALLE AS A, TB_REPORTE AS REP
WHERE A.CodRegion = REP.CodRegion
And A.IDSucursal = REP.IDSucursal
And (A.Asunto="A"
Or A.Asunto="B"
Or A.Asunto="C"
Or A.Asunto="D"
Or A.Asunto="E"
Or A.Asunto="F")
And A.TipoGestion=2
And A.Fecha>=REP.Fecha1 And A.Fecha<=REP.Fecha2
GROUP BY A.Asunto;
--- Fin de la cita ---
Estas son para unos reportes, pero imaginense, los reportes quedaban así: (notar la parte o sección que dice Auditoria de Calidad)
http://img299.imageshack.us/img299/9392/re...stcalidavi0.jpg
Ahora quedan asi: (notar la parte o sección que dice Auditoria de Calidad)
http://img292.imageshack.us/img292/9449/re...stcalidagy2.jpg
mejor tarde que nunca verdad :)
:hola:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa