|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
02-01-2017, 15.12.30 | #1 |
Newbie
Registrato: 20-12-2016
Messaggi: 2
|
[MS Access] stringa SQL generata da VBA che funziona solo se riaperta.
ho un problema banalissimo, ma che mi sta facendo uscire di testa perchè non riesco a comprendere dove sia il problema. Ho scritto un codice in VBA che genera una stringa SQL sulla base di alcuni valori recuperati da combobox e altre fonti. Tale stringa viene composta e poi impostata in una Query pre-esistente. Vi riporto di seguito la stringa generata dal codice VBA (semplificata al massimo, ma così è): SELECT T01_DATI.[C-IMPORTO] FROM T01_DATI; Questa stringa viene correttamente impostata nella query. Quando la eseguo però, mi viene richiesto di "immettere valore parametro" di "C". Questo succede solo nei casi in cui il campo selezionato contiene il trattino "-" all'interno del nome, mentre se non ne contiene, la query viene eseguita correttamente (cosa nota ma che non mi spiego essendoci le quadre che dovrebbero ovviare il problema). La cosa assurda però (e qui vengo al mio problema), è che se apro la query in visualizzazione SQL (che risulta essere esattamente come sopra), e provo a fare una minima variazione e poi subito ripristinarla (esempio: vado a capo, inserisco e poi tolgo uno spazio, cancello una parentesi e la rimetto, etc) la query comincia a funzionare correttamente! Cosa mi sfugge? Grazie! |
04-01-2017, 20.10.17 | #2 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Rif: [MS Access] stringa SQL generata da VBA che funziona solo se riaperta.
Dunque:
La query è sintatticamente corretta, ma prova a scriverla in una forma più semplice: SELECT C-IMPORTO FROM T01_DATI oppure SELECT [C-IMPORTO] FROM T01_DATI In questo modo, si dice al motore SQL: Seleziona la colonna C-Importo dalla tabella T01_DATI Sebbene la tua query sia corretta, vediamo cosa si dice al motore SQL: Seleziona la colonna C-IMPORTO appartenente alla tabella T01_DATi dalla tabella T01_DATI. Come vedi, c'è una ripetizione del tutto inutile. L'utilizzo delle parentesi quadre, avviene quando devi fare riferimento a nomi di colonna o di tabella che contengono spazi.
___________________________________
Practice feeds Skill,Skill limits Failure,Failure enhances Security,Security needs Practice |
05-01-2017, 08.59.35 | #3 |
Newbie
Registrato: 20-12-2016
Messaggi: 2
|
Rif: [MS Access] stringa SQL generata da VBA che funziona solo se riaperta.
Ciao LoryOne,
intanto grazie per la risposta! Capisco bene quello che dici, purtroppo però è già quello che faccio, mi spiego: Il mio codice VBA mi genera la stringa SQL senza quella ripetizione del nome tabella compreso fra SELECT e [C-IMPORTO], quindi "di fatto", viene generata proprio la stringa come mi stai consigliando di fare tu. E' proprio nel momento in cui faccio modificare tale stringa nel codice SQL della query esistente che Access stesso "aggiunge" il nome tabella prima di ogni campo. (questo lo fa anche costruendo manualmente la query in modalità struttura, per dire). Quindi il mio dubbio resta, e proprio non mi spiego tale assurdità! In particolare l'aspetto che apportando una minima modifica alla stringa e poi cancellando tale stessa modifica, la query comincia a lavorare :-( ... |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
caselle combinate a cascata | luca12 | Office suite | 2 | 23-09-2013 12.27.31 |
access sincronizzare caselle combinate | como52 | Programmazione | 1 | 09-11-2011 11.08.08 |
caselle combinate | bobocaro | Office suite | 5 | 28-04-2008 20.04.10 |
Access - prendere il valore da due caselle combinate presenti in due maschere | LUCAB | Office suite | 1 | 09-08-2007 11.16.03 |
[Access] Casella di riepilogo riempita da due caselle combinate | LUCAB | Office suite | 3 | 27-12-2006 19.21.19 |