Access - pregunta dobles comillas access vba

 
Vista:

pregunta dobles comillas access vba

Publicado por victoria castro (1 intervención) el 07/02/2018 18:21:30
Buen día,

estoy intentando de poner una variable en el función dcount, pero tengo problema de dobles comillas:
Mi código es este:

1
2
3
4
5
6
7
8
9
10
11
SemanaInicial = DatePart("ww", FechaInicial, , vbFirstJan1)
SemanaFinal = DatePart("ww", FechaFinal)
 
SNulo = " And IsNull([" & SemanaInicial & "])"
Do Until SemanaInicial = SemanaFinal
SemanaInicial = SemanaInicial + 1
SNulo = SNulo & " And IsNull([" & SemanaInicial & "])"
Loop
 
IntNuevosAx1P1 = DCount("*", "Integrantes", "'[Axioma]=1 And [Planta]= 'Planta 1' And [Activo]= -1" & SNulo & "'")
Debug.Print IntNuevosAx1P1

Y me sale "Se ha producido el erro 3075" Error de sintaxis, ayuda plis!!!
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

pregunta dobles comillas access vba

Publicado por Anonimo (3402 intervenciones) el 08/02/2018 00:14:38
Lo natural es que si se utiliza una referencial para obtener un dato (en este caso que considere como primera semana del año la que contenga el primer día del año), cada vez que se pretenda obtener una semana cualquiera, la condición debería ser la misma .... que considere como primera la que contenga el uno de Enero.

El bucle .... sinceramente no lo entiendo, o no le veo un gran sentido, pues si la semana inicial fuera la uno y la final la 30, se crearía una cadena de texto con ....
And isNull([1]) And isNull([2]) And isNull([3]) And isNull([....]) ..... And isNull([30])


Creo que hay expresiones mas ¿compactas? cuya evaluación seria mas eficaz y no correría el peligro de sobrepasar la longitud de texto que admite el evaluador de expresiones del motor de Access.

De cualquier forma, el motor de Access tendrá enormes problemas para hacer funcionar esa expresión, pues la condición (el tercer parámetro de la función) comienza y finaliza con una comilla simple (marcador de que su contenido es un texto) y no será evaluado, así que lo único que puede hacer será ignorarlo o la alternativa es romper el conjunto (generado por un error que no podrá corregir)
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