Telefonino.net network
 
| 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 » |

Torna indietro   WinTricks Forum > Software > Office suite

Notices

Rispondi
 
Strumenti discussione
Vecchio 02-01-2017, 15.12.30   #1
albertobarone
Newbie
 
Registrato: 20-12-2016
Messaggi: 2
albertobarone promette bene
[MS Access] stringa SQL generata da VBA che funziona solo se riaperta.

Ciao a tutti,
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!
albertobarone non è collegato   Rispondi citando
Vecchio 04-01-2017, 20.10.17   #2
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.395
LoryOne ha un'aura spettacolareLoryOne ha un'aura spettacolareLoryOne ha un'aura spettacolare
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
LoryOne non è collegato   Rispondi citando
Vecchio 05-01-2017, 08.59.35   #3
albertobarone
Newbie
 
Registrato: 20-12-2016
Messaggi: 2
albertobarone promette bene
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 :-( ...
albertobarone non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

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

Orario GMT +2. Ora sono le: 04.38.40.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.