[ACCESS 2010] Funzione NZ in VBA

domenica 11 novembre 2012 - 18.29

thebusterazz Profilo | Newbie

buona domenica a tutti ragazzi.. sto cercando di eseguire questa query tramite codice vba

sql = "SELECT Sum(Scheda_raccolta.Colli) AS Colli, Sum(Scheda_raccolta.[Qta 1]) AS [kg totali], Avg(Scheda_raccolta.[Prezzo netto 1]) AS [media di Prezzo] FROM Articoli INNER JOIN (Terreni INNER JOIN (Varianti INNER JOIN Scheda_raccolta ON Varianti.Codice = Scheda_raccolta.Variante) ON Terreni.[ID GAMMA SPRINT] = Scheda_raccolta.Commessa) ON Articoli.[codice articolo] = Terreni.Varietà WHERE (((Articoli.descrizione) Like Nz(" & Me.CasellaCombinata9 & ",'*')) AND ((Terreni.tipo_copertura) Like Nz(" & Me.CasellaCombinata9 & ",'*') AND ((Terreni.Azienda_tit) Like Nz(" & Me.CasellaCombinata3 & ",'*')) AND ((Terreni.Tipo_contratto) Like Nz(" & Me.CasellaCombinata7 & ",'*')));"


tuttavia mi restituisce un errore di sintassi (operatore mancante). Dove sbaglio? E' un codice sql che se viene eseguito all'interno di una query non mi da errore, tuttavia appena provo a replicarla in codice vba per copiare il risultato in un recordset, mi da' errore.. da cosa dipende secondo voi?

renarig Profilo | Expert

Ho ritrascritto qui sotto la tua query (senza modificarla)
in modo da renderla piu leggibile.
SELECT Sum(Scheda_raccolta.Colli) AS Colli, Sum(Scheda_raccolta.[Qta 1]) AS [kg totali], Avg(Scheda_raccolta.[Prezzo netto 1]) AS [media di Prezzo] FROM Articoli INNER JOIN ( Terreni INNER JOIN ( Varianti INNER JOIN Scheda_raccolta ON Varianti.Codice = Scheda_raccolta.Variante ) ON Terreni.[ID GAMMA SPRINT] = Scheda_raccolta.Commessa ) ON Articoli.[codice articolo] = Terreni.Varietà WHERE ( ((Articoli.descrizione) Like Nz(" & Me.CasellaCombinata9 & ",'*')) AND ((Terreni.tipo_copertura) Like Nz(" & Me.CasellaCombinata9 & ",'*') << Qui AND ((Terreni.Azienda_tit) Like Nz(" & Me.CasellaCombinata3 & ",'*')) AND ((Terreni.Tipo_contratto) Like Nz(" & Me.CasellaCombinata7 & ",'*')) ) ;


Senza esaminare i dettagli e i significati della query
ho contato 18 parentesi aperte e 17 parentesi chiuse
in effetti osservo che nel 2° dei 4 criteri manca una parentesi


NB: è corretto avere 2 volte "Me.CasellaCombinata9" come criterio ???


Facci sapere se non risolvi

.

thebusterazz Profilo | Newbie

con un po di ritardo confermo ancora la presenza del problema.. mi da' sempre errore di operatore mancante :( puo essere il problema la funzione nz che fa' a cazzotti con vba?

renarig Profilo | Expert

>mi da' sempre errore di operatore mancante :( puo essere il problema
>la funzione nz che fa' a cazzotti con vba?


No la fuzione Nz con VBA va bene

Quell'errore che citi arriva da VBA o da Access ?

Dopo l'errore ti si apre VBA con una riga evidenziata in giallo ?

che riga è ?

Perche la query mi sembra Ok allora l'errore è altrove


.

thebusterazz Profilo | Newbie

Si mi evidenzia la riga inerente alla query.. Inoltre nell'errore parla proprio di operatore mancante e mi cita la parte finale della query..

renarig Profilo | Expert

> e mi cita la parte finale della query..

Prova a postarci il codice VBA del modulo o routine interessati



.

thebusterazz Profilo | Newbie

Guarda è tutta la parte del WHERE della sql che ho postato nel primo post e che mi avete dato una mano a correggere

renarig Profilo | Expert

ma la condizione WHERE mi sembra a posto
mancava una parentesi e la hai messa.


se ti da lo stesso errore significa che c'è qualcos'altro che potrebbe essere

__ Non hai usato nulla per andare a capo nel VBA mentre scrivevi la query

__ Oppure qualcos'altro




si puo tentare di capire solamente dal codice complessivo


.

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5