Error al contar el número de registros en una cons |
Responder |
Autor | |
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Tema: Error al contar el número de registros en una cons Enviado: 23/Octubre/2020 a las 09:52 |
Hola a tod@s
Tengo la consulta "qryPrueba" con tres tablas; tblA, tblB y tblC Lo que quiero es saber el número de registros que tiene la consulta para posteriormente utilizar ese valor y para ello creo el campo NumReg con la siguiente expresión: NumReg: DCont([tipo1];"qryPrueba") y me devuelve #Error Sin embargo si hago la llamada a cualquiera de las tablas me devuelve el valor del número de registros de la tabla llamada p.e NumReg: Dcont([tipo1];"tblA") y me devuelve el los del número de registros de la "tblA", no los de la consulta "qryPrueba" que es lo que deseo. Gracias de antemano Juan
|
|
jj
|
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Enviado: 23/Octubre/2020 a las 10:07 |
Sin saber la SQL de qryPrueba es literalmente imposible dar una respuesta ajustada; solo podemos disparar a ciegas.
¿Qué tipo de consulta es? ¿Selección o unión? ¿Cómo relacionas (si es que se relacionan) las tablas? |
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 23/Octubre/2020 a las 11:20 |
Hola Xavi, gracias por tu ayuda
Decir que la consulta tiene un campo DNI con el criterio [Formilarios]![frmAfiliacion]![DNI] con objeto de que aparezcan los registros que tengan el DNI del formulario frmAfiliacion. Esto sin el campo NumReg funciona correctamente pero cuando introduzco el NumReg con intención de saber el número de registro de la consulta y solamente de la consulta, no de las tablas, sale el siguiente mensaje: "La expresión que introdujo como parámetro de consulta produjo un error "Microsoft Office Access no puede encontrar el nombre "Formilarios!frmAfiliacion!DNI que introdujo en la expresión. Un saludo
|
|
jj
|
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 23/Octubre/2020 a las 11:53 |
Hola.
Prueba con algo parecido a: NumReg: DCont("*";"qryPrueba") Ya comentas. Un saludo a todos Añado: Se supone que FormIlarios es un error al escribir y que el formulario está abierto en ese momento
Editado por prga - 23/Octubre/2020 a las 11:55 |
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 23/Octubre/2020 a las 13:43 |
Hola prga
Ya lo había probado y hace lo mismo Un saludo y gracias
|
|
jj
|
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Enviado: 23/Octubre/2020 a las 13:59 |
Por probar y buscar el punto exacto del error.
Si en tu consulta sustituyes la llamada al formulario por una pregunta [Escribe DNI] y haces la prueba, ¿te devuelve el resultado o te salta error? Si devuelve resultado (y correcto) está claro que el problema es la llamada al valor del formulario. Si salta error el problema es la propia consulta Un saludo
|
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 23/Octubre/2020 a las 14:15 |
Xavi; respecto a tus pregunta decirte que es una consulta de selección y la SQL es:
SELECT tblAfiliacion.Tipo1, tblAfiliacion.DNI,
DCount("*","qryPrueba") AS NumReg, tblAfiliacion.Nombre,
tblProductosAC.NombreProducto FROM tblAfiliacion INNER JOIN (tblProductosAC INNER JOIN
tblAuxProductos ON tblProductosAC.IdProductoAC = tblAuxProductos.IdProductoAC)
ON tblAfiliacion.IdAfiliacion = tblAuxProductos.IdAfiliacion WHERE
(((tblAfiliacion.DNI)=[Formularios]![frmAfiliacion]![DNI])); |
|
jj
|
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 23/Octubre/2020 a las 16:11 |
Hola Xavi
He hecho lo que dices y poniendo directamente el valor del DNI sigue el error así que ya lo vamos acotando, el problema está en la consulta. Seguimos investigando Un saludo Juan
|
|
jj
|
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 23/Octubre/2020 a las 16:18 |
Hola de nuevo
Perdón, la prueba la he hecho mal, he cambiado la forma de llamada poniendo el número del DNI directamente en el criterio y SIN CERRAR la consulta permanece el error pero CERRÁNDOLA y abriéndola de nuevo todo funciona, por tanto el error lo podemos tener en el valor del formulario. Mis disculpas Juan
|
|
jj
|
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 23/Octubre/2020 a las 17:42 |
Hola de nuevo:
Voy a ver como lo explico: Situación1._Sin incorporar a la consulta el contaje de registros pero con el filtro del DNI ya expuesto anteriormente. Abro la consulta desde la propia consulta mediante doble click y sale un cuadro de diálogo pidiendo el valos del DNI, se lo incorporo y todo funciona. Abro la consulta desde el formulario con el registro situado en un determinado DNI y todo funciona. Situación2.-Incorporando a la consulta el contaje de registros mediante la función DCont y con el filtro del DNI. Abro la consulta desde la propia consulta haciendo doble click y sale el error. Abro la consulta desde el formulario y todo funciona. La verdad es que no lo entiendo Saludos Juan
|
|
jj
|
|
pitxiku
Colaborador Unido: 27/Septiembre/2017 Localización: En mi casa Estado: Sin conexión Puntos: 1510 |
Enviado: 23/Octubre/2020 a las 20:23 |
1. Abres la consulta,
2. Access ve el DCont y para calcular el resultado tiene que volver a ejecutar la misma consulta, 3. Por lo que vuelves al punto 1, y entras en un bucle infinito Si quieres saber cuántos registros devuelve una consulta, tienes que usar el DCont fuera de la consulta, o usar un Recordset, o usar la función Contar que tienen los formularios e informes. |
|
Juan
Colaborador Unido: 26/Mayo/2006 Localización: España Estado: Sin conexión Puntos: 1035 |
Enviado: 23/Octubre/2020 a las 20:50 |
Hola Pitxiku
No necesito abrir la consulta desde la consulta, solo lo hacía mientras probaba lo que iba ejecutando. Con lo hecho queda resuelto el problema. Muchas gracias a todos Juan Nota: Por mi parte podéis quitar el hilo
|
|
jj
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |