No sé si exista una función o cómo le puedo hacer. Hice una consulta:
Campo Total del campo %Relativo %Relativo acumulado
Campo y total del campo son valores que saque de la base de datos, pero %
relativo es una función donde dividí la suma del campo entre la suma del
total de todos los campos. Donde tengo problemas es con %Relativo acumulado
donde va sumando el %relativo de todos los campos. Por ejemplo:
%Relativo %Relativo acumulado
1 15 15
2 12 27
3 10 37
Como lo mencioné %Relativo lo calculé %Relativo=[SumaDeTotal1/SumaDeTotal]
donde SumaDeTotal1=total de cada campo y
SumaDeTotal=suma total de todos los campos.
El %relativo acumulado traté de calcularlo por medio de referencias cruzadas
pero estoy utilizando variables y no me permite realizarlas.
Esta tabla la quiero para hacer gráficos de pareto.
Agradecería su ayuda
Public Sub LlenaRubros()
'Procedimiento para llenar tabla temporal de informe
'Ju@nK 2005
'Ya te daré el nº de cuenta :-)
Dim midb As DAO.Database
Dim rsOr As DAO.Recordset
Dim rsDe As DAO.Recordset
Dim misql As String
Dim ru As Long
Dim A As Double
Dim che As String
Set midb = CurrentDb
'Vaciamos datos
misql = "DELETE * FROM ChequesVacio"
midb.Execute misql
'Tabla origen
misql = "SELECT rubro, Cantidad, Cheque FROM Cheques ORDER BY rubro"
Set rsOr = midb.OpenRecordset(misql)
'Tabla Destino
misql = "SELECT rubro, Total, SegunCheques FROM ChequesVacio "
Set rsDe = midb.OpenRecordset(misql)
'Empezamos el recorrido
rsOr.MoveLast
rsOr.MoveFirst
ru = rsOr!Rubro
While Not rsOr.EOF
If ru = rsOr!Rubro Then
'Es de la misma línea, acumulamos datos
che = che & "," & rsOr!Cheque
A = A + rsOr!Cantidad
rsOr.MoveNext
Else
'Llenamos la línea y limpiamos
rsDe.AddNew
rsDe!Rubro = ru
rsDe!SegunCheques = Mid(che, 2, Len(che) - 1)
'rsDe!nombreRubro = rsOr!nombreRubro
rsDe!Total = A
rsDe.Update
'empezamos linea nueva si no es la última
If Not rsOr.EOF Then
ru = rsOr!Rubro
A = 0
che = ""
End If
End If
Wend
'Llenamos la ultima línea y cerramos
rsDe.AddNew
rsDe!Rubro = ru
rsDe!SegunCheques = Mid(che, 2, Len(che) - 1)
rsDe!Total = A
rsDe.Update
'Cerramos y limpiamos memoria
rsOr.Close
rsDe.Close
'misb.Close
midb.Close
Set rsOr = Nothing
Set rsDe = Nothing
End Sub
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
****************************************
Salu2
Ju@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com
****************************************
"iker" <ik...@discussions.microsoft.com> escribió en el mensaje
news:28E59880-7E39-4598...@microsoft.com...
Supongo que esto va en un informe, podrías solucionarlo de la forma
siguiente:
% Relativo
Origen = campo/total
Suma continua = no
% Relativo Acumulado
Origen = campo/total
Suma continua = Sobre grupo (o sobre todo si no tienes agrupaciones)
Un saludo
Eva Etxebeste
"iker" <ik...@discussions.microsoft.com> escribió en el mensaje
news:28E59880-7E39-4598...@microsoft.com...
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
****************************************
Salu2
Ju@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com
****************************************
"Ju@nK" <con...@hotmail.com> escribió en el mensaje
news:eXhR%236JeF...@TK2MSFTNGP15.phx.gbl...
Sí, lo hice por medio de consultas donde seleccioné los campos año y total,
y agrupé por medio de suma el total.
Saludos.
"Iggv" escribió:
Además no entiendo a qué te refieres con los campos que tienes como rubro,
cantidad y cheque y cómo compararlos con mis campos.
Intentado hacerlo decía que no encontraba la consulta siendo que sí existía
y sí estaba bien escrita.
Me marcaba error en "Set rsOr = midb.OpenRecorset(misql)" diciendo que no
especificaba los parámetros.
Yo tengo una consulta generada por una tabla donde sólo arrastre los campos
de módulo y total, donde agrupándolo por suma el total me calcula el total de
cada módulo creando otra columna. También arrastré otro campo suma de total
(este lo calcule con otra consulta para que me sume el total de todo el año).
En la consulta realicé otra fórmula %Relativo para que me dividiera la
sumadetotal, que es la suma de cada módulo entre la suma de total que
arrastré de la otra consulta, con esto quiero que vaya sumando cada %relativo
de cada módulo, lo que no he podido hacer.
Eva dijo que un reporte pero también no sé como generar que esté reporte me
genere el mismo un gráfico, porque necesito que al lado de la tabla me
muestre el gráfico con dos series, el tiempo total de cada módulo y el
porcentaje relativo acumulado.
Agradecería su ayuda
"Ju@nK" escribió:
%Relativo %Relativo acumulado
1 15 15
2 12 27
3 10 37
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
****************************************
Salu2
Ju@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com
****************************************
"iker" <ik...@discussions.microsoft.com> escribió en el mensaje
news:CC026B92-27FF-47E5...@microsoft.com...
Gracias por contestarme pero mi problema que con esa columna tengo que
graficarla y según entiendo esto lo genero en una tabla en un informe y
desconozco que se pueda realizar una gráfica desde esta tabla del informe. O
si te refieres con subformularios desde consultas, pero tampoco he podido
vincular una tabla y un gráfico. En la base de datos Neptuno tiene un informe
de una tabla y un gráfico pero al seleccionar los vinculos secundarios y
primarios dice que desconocera al gráfico con enlace.
Saludos.
"Ju@nK" escribió:
Tu tienes una serie de datos en una/s tabla/s
Sobre esa/s tabla/s haces una consulta para agruparlos por una serie de
campos que te den unos valores agrupados
De esta consulta puedes generar un informe con las tablas de resultados y/o
gráficos que quieras.
Ahora empezamos de nuevo, ¿que tabla/s tienes?, ¿que campos tienen esas
tablas?, ¿que es lo que quieres conseguir? y ¿hasta donde has llegado?
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
****************************************
Salu2
Ju@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com
****************************************
"iker" <ik...@discussions.microsoft.com> escribió en el mensaje
news:BF8B6271-2F36-470C...@microsoft.com...
Mis campos son "módulo" que es un componente y "total" que es el tiempo
muerto que genera ese componente.
Yo hice dos consultas en una la utilicé para sumar todo el tiempo muerto que
se generó en un año, porque esta la necesito para calcular el porcentaje
relativo, que en la fórmulara es el denominador de todos los registros.
En la otra consulta tomé módulo y tiempo y este último lo agrupé en modo de
suma para que me sume el tiempo total de cada uno de los módulos. Luego
arrastré la consulta que me suma todo el tiempo total de todo el año. Y con
esta calculé el porcentaje relativo que se saca dividiendo el tiempo de cada
módulo entre el tiempo de todo el año, y es hasta ahí donde me quedé.
Haciéndose cuatro columnas: módulo, Suma de total (que ésta me la define
access al haber agupado por suma), Total anual (que es el tiempo total de
todo el año, en sí en la tabla es como una constante en todos los módulos), y
%Relativo (dividiendo cada suma de tota entre el total anual) con %Relativo
necesito calcular otra columna que el %Relativo acumulado, que este creo si
me han entendido que es lo que se tiene que sumar.
Según había entendido lo que me dicen tengo que hacer la tabla en un
informe, utilizar dsuma y en propiedades utilizar suma acumulada. pero esta
tabla necesito graficar tanto Suma de total y %Relativo acumulado y desconozo
cómo hacerlo.
Lo único que se me ocurría era que su origen fuera una consulta. Ya que en
la primera respuesta que me dieron había un código que podía utilizar, pero
no entiendo dónde lo debo poner y no supe comparar mis campos contra los que
decían, suponía que rubro=módulo, total=suma de total, pero no sé que se
referían con cheques, si era una numeración, en sí no sé. Llevó dos semanas
utilizando access y no sé sobre visual basic.
Tanto la tabla como el gráfico deben estar en la misma hoja.
Saludos, y gracias por responderme.
"Ju@nK" escribió:
--
****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
****************************************
Salu2
Ju@nK [DCE ***] + VSTO
www.juank.tk
www.mvp-access.com
****************************************
"iker" <ik...@discussions.microsoft.com> escribió en el mensaje
news:77233C1D-334B-4F7C...@microsoft.com...