Access - no se porqué me da ese error

   
Vista:

no se porqué me da ese error

Publicado por mati (48 intervenciones) el 17/01/2008 12:26:50
Buenas me da un error en la línea que marco acontinuación y no se porqué:

Public Function numero_pedidos_presu(tipo_filtro As String, e_grupo As String)

Select Case tipo_filtro
Case "general"
consulta = "SELECT COUNT(*) AS n FROM PRESUPUESTOS WHERE id_empresa_grupo = " & e_grupo & " "
---> Set rst_num = CurrentDb.OpenRecordset(consulta) <---------------error-------------------
numero_pedidos_presu = rst_num!n

me dice en el mensaje de error:

Se ha producido el error '3061' en tiempo de ejecución
Pocos parámetros. Se esperaba 1

seguro que es un error sintáctico pero he hecho varios cambios y nada
alguna sugerencia????
gracias
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

RE:no se porqué me da ese error

Publicado por Victoria (1530 intervenciones) el 17/01/2008 14:07:16
Hola:

Me gustaría que me contestaras a un par de cosas.

¿e_grupo y id_empresa_grupo son campos texto?

¿Por qué cuentas con * en vez de contar un solo campo?

Victoria
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

RE:no se porqué me da ese error

Publicado por mati (48 intervenciones) el 17/01/2008 15:59:14
Hola Victoria:

Este es el trozo de código que puse antes:

Public Function numero_pedidos_presu(tipo_filtro As String, e_grupo As String)
Select Case tipo_filtro
Case "general"
c = "SELECT COUNT(*) AS n FROM PRESUPUESTOS WHERE empresa_grupo = " & e_grupo & " "
Set rst_num = CurrentDb.OpenRecordset(c)
numero_pedidos_presu = rst_num!n

en donde id_empresa_grupo es un campo de la tabla PRESUPUESTOS y e_grupo es el 2º parametro que se le pasa a la función.

2º respuesta: cuento todos los registros que hay en PRESUPUESTOS en los que coincida el campo id_empresa_grupo = e_grupo

bueno de todas formas al ejecutar el programa si me posiciono en la consulta me dice:

c = "SELECT COUNT(*) AS n FROM PRESUPUESTOS WHERE empresa_grupo = TELEFONICA"

osea, lo que es la consulta parece que está bien hecha no?

Además ese trozo de codigo lo he copiado de otro modulo que funciona (pero la consulta debía ser otra) asique no se lo que pasa.

Bueno tampoco me hagas mucho caso porque no se explicarme muy bien pero de todas formas si tienes mas dudas preguntamelas si reparo
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

RE:no se porqué me da ese error

Publicado por elio (169 intervenciones) el 17/01/2008 16:52:08
hola mati

mira encontre esto en internet, yo tenia mas o menos el mismo problema pero en vez de seleccionar queria borrar, lo mio lo soluciones de otra manera. no he intentado esto. miralo y se te va dimelo, un saludos

Pocos parámetros. Se esperaba <number> (error 3061)
Si ves este error al abrir una consulta desde código VBA, y no le encuentras explicación, fíjate en la consulta. Seguramente hace referencia a un campo de un formulario (Forms!MyForm!MyCampo).

Bien, el formulario MyForm está abierto, y el campo MyCampo existe y tiene un valor. Ademas, si abres la consulta directamente, funciona bien.

El problema es que el gestor de consultas interpreta bien el parámetro "Forms!MyForm!MyCampo", pero no así al abrirla como Recordset desde VBA.

Solución:

Cambiar
Forms!MyForm!MyCampo (o bien Formularios!MyForm!MyCampo)
por
Eval("forms!myform!mycampo") (no escribas formularios, sino forms)
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

RE:no se porqué me da ese error

Publicado por elio (169 intervenciones) el 17/01/2008 16:55:30
hola mati

mira busca en el foro

Error 3061 " Pocos parametros"
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