Access - Informe basado en nada

 
Vista:
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Informe basado en nada

Publicado por Pablo (328 intervenciones) el 10/02/2021 19:34:02
Hola a tod@s
Trataré de explicarme de forma resumida.
Tengo 2 tablas, una diario y otra balance, en diario los campos subcuenta-txt y euros-num y en balance cuenta-txt
Quiero leer una cuenta de balance y calcular su suma en diario
si es <>0 QUE LA PINTE En el informe
ESCRIBÏ ESTE CÖDIgo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim digitos As Integer: digitos = 0
Dim saldo As Single: saldo = 0
Dim rstbalance As DAO.Recordset
Set rstbalance = CurrentDb.OpenRecordset("cuentas_balance"): rstbalance.MoveLast: rstbalance.MoveFirst
Dim rstdiario As DAO.Recordset
Set rstdiario = CurrentDb.OpenRecordset("select * from diario where comunidad_diario=1"): rstdiario.MoveLast: rstdiario.MoveFirst
While rstbalance.EOF = False
If DLookup("subcuenta_diario", "diario", "subcuenta_diario='" & rstbalance!numero_cuenta & "'") Then
Me.subcuenta = rstbalance!numero_cuenta
Me.saldo = DSum("euros_diario", "diario", "subcuenta_diario='" & rstbalance!numero_cuenta & "'")
Me.descripcion = rstbalance!descripcion_cuenta
End If
If rstbalance.EOF = False Then rstbalance.MoveNext
Wend
rstbalance.Close
Set rstbalance = Nothing
rstdiario.Close
Set rstdiario = Nothing
En qué eventO TENDRÏA que ponerlo?
Perdon por LAS MAYÜSCULAS. Esto está LOCo Y CUANDO QUIERE LAs pone: ALguna sugerencia?

Gracias
PaBLO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Informe basado en nada

Publicado por Pablo (328 intervenciones) el 11/02/2021 18:18:58
No hay respuestas..., alguien podría decirme porqué, no se entiende la pregunta?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe basado en nada

Publicado por Anonimo (3315 intervenciones) el 11/02/2021 18:58:25
La pregunta parece ser que se refiere a donde se puede ubicar el código que se posteo a continuación.

Si lo que se pretende (con ese código) es filtrar en tiempo de ejecución el conjunto de datos, creo que no se esta utilizando el método optimo.

Lo ideal es crear consultas y en la consulta que devuelva los balances, se condiciona a que no sea cero, esa consulta seria un origen de datos correcto.

Si aun así se desea utilizar ese código -que se supone cumple los requisitos-, lo adecuado seria cargar una tabla con los datos que cumplan las condiciones (o crearla en tiempo de ejecución) y utilizarla como origen de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe basado en nada

Publicado por jose (830 intervenciones) el 13/02/2021 19:57:30
Hola Pablo

Lo importante es la voluntad y el esfuerzo y haciendo cosas se aprende y cuando uno se equivoca, ya ha aprendido algo, que ese no es el método y se busca otra solucion.

En tu caso parece que quieres hacer una contabilidad.
y para ello no necesitas dos tablas, te ha de ser suficiente una la tabla de movimientos o diario, porque los balances se obtienen de la suma de los asientos.

de tal forma que el diario seria una consulta entre fechas de las los asientos anotados del diario- las sumas o bien las pones en el informe o las calculas en la seccion correspondiente.

las cuentas de mayor serian las anotaciones entre fechas del lo anotado en la tabla diario filtrado por cuenta o si son varias agrupadas

los balances serian una consulta entre fechas de la tabla diario agrupada por cuentas y con suma de los campos debe y haber .


en la pagina de neckkito he puesto una pequeña contabilidad que te puede ayudar a entender

https://neckkito.xyz/nck/index.php/miscelanea/aportaciones


aportacion realizada el 16/04/2016
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Informe basado en nada

Publicado por pablo (328 intervenciones) el 14/02/2021 19:29:35
Hola Anónimo y jose, gracias por contestar
Me metí en la dirección que me dio jose y bajé un programa de contabilidad, mañana me meteré con el
Anonimo la idea es buena, leer los datos de una tabla, el numero de cuenta por ejemplo, buscar la suma de esa cuenta en diario y ..., cómo decido si la pinto o no, si es >0 la pinto, si es = 0, una veces será porque la cuenta no existe y otras, rarísimas porque debe=haber, en este caso si querría pintar el dato. Es una idea más
Ya tengo dos ideas con las que trabajar
Gracias a los dos

Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Informe basado en nada

Publicado por Pablo (328 intervenciones) el 15/02/2021 19:12:04
Hola
Anónimo me decía en su respuesta que lo mejor sería crear una tabla virtual con los datos fruto del código posteado, después basar el informe en esa tabla, había pensado en que la solución podría ir por ahí pero, el tema de las tablas virtuales lo tengo flojo, más bien nulo, podrías decirme por donde puedo empezar
De entrada buscaré tabla virtual en internet a ver si encuentro algo
Un saludo

Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Informe basado en nada

Publicado por Pablo (328 intervenciones) el 15/02/2021 19:45:05
Encontré un código de Eduardo Olaz de hace 15 años para crear una tabla en ADO. Cuando dimensiono un recordset lo hago con DAO.Recordset., existe algún problema con ADO<>DAO?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Informe basado en nada

Publicado por pablo (328 intervenciones) el 15/02/2021 20:45:51
Respecto de la propuesta de jose aclaro
No tengo ordenador, estoy con uno prestado, al bajar el programa de contabilidad me dice que si lo instalo hará modificaciones en el disco duro, como no las quiero hacer no puedo instalarlo, no habrá otra forma de bajarlo?
De todas formas gracias

Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe basado en nada

Publicado por jose (830 intervenciones) el 18/02/2021 16:35:01
la aplicacion de contabilidad esta hecha en acces 2007 y es abierta, no tiene nada oculto , asi que no entiendo ese mensaje, a no ser que sea
diferencias con la version de access que usas.
un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe basado en nada

Publicado por Anonimo (3315 intervenciones) el 15/02/2021 21:31:40
Una forma de crear una tabla -que seria una tabla física no virtual- es con una SQL (ojea como lo hace Access mediante una consulta de creación de tabla).

Una tabla ocupa el espacio que ocupen sus datos y muy poco mas, crear una tabla temporal (esto es: crearla utilizarla y borrarla) es sencillo, pero si se necesita de forma recurrente, quizás lo optimo es crearla (la primera vez) y después llenarla y vaciarla al terminar de usarla (menos lio y se optimizan recursos).

Tablas virtuales ... normalmente un Array o similar, pero el problema es que trabajan en la memoria (en la escasa memoria de trabajo, no la RAM física), si bien es cierto que es mas veloz (no es eso lo que se busca) si se abusa puede llegar a crear problemas.

La forma de utilizarla:
Una vez creada (bien con el primer registro o limpiando la de uso repetitivo) se llena con los datos que pasen el filtro y se utiliza como origen de datos para el informe (es lo que espera un informe, una tabla o una consulta), como solo tiene datos validos crear un informe es mas sencillo y si no aparecen los datos que deseamos, solo hay que cambiar las condiciones (al informe no se le cambia ni una coma, solo el origen de datos).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Informe basado en nada

Publicado por pablo (328 intervenciones) el 17/02/2021 20:57:01
Hola Anónimo
Pensando en el problema creo que llegué a la misma conclusión que tu, lo mejor es crear una tabla y, cada vez que quiero pintar un balance llenarla con datos que saco de diario: cuentas con sus saldos y después abrir un informe basado en esa tabla
Una cuenta de balance serían todas las que empiezan por 21 : 210,211,212..., leo en cuentas_balance el 21, como hago para hacer un dsum de todas y cada una de las 21, se me ocurre un for-next empezando en 0 y acabando en 9
Esto se lía más: existen la 2101,2102..., y también las 21010, 21011, 21012....
Es un pequeño lío.
Alguna idea?

Gracias
Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Informe basado en nada

Publicado por Anonimo (3315 intervenciones) el 17/02/2021 22:14:23
Un clásico es utilizar campos de texto ya que no se utilizaran como números

Al ser un texto (aunque su nombre sean dígitos) se puede filtrar por caracteres o grupos de caracteres y también por su posición en la cadena (hay todo un mundo de posibilidades).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Informe basado en nada

Publicado por pablo (328 intervenciones) el 18/02/2021 18:21:27
Perdón, seguramente no lo había dicho, es un campo tipo texto.
Tengo que probar una consulta de datos agrupados con left(campo, variable) en donde variable sería los dígitos que quiero que tenga las cuentas de balance

Un saludo
Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar