PDA

View Full Version : [sql] Help Query Access


bobby1112
12-06-2010, 09:25
salve ho questa tabella con i campi a e b

-a-----b
1,1-- 1,9
1,2-- 2,0
1,3-- 2,1
1,4-- 2,2
1,5-- 2,2
1,6-- 2,3
1,7-- 2,4
1,8-- 2,5



la mia query dovrebbe proiettare la colonna in base ad un valore inserito letto da input


in access ho provato

Select []
From Tabella

ma non va

zuper
12-06-2010, 09:36
[?]

dove il ? sta per il testo del box di input

bobby1112
12-06-2010, 09:54
non va,effettuando questa query


select [?]
from tabella



appena inserisco il nome del campo nel box e premo ok, access crasha

zuper
12-06-2010, 10:19
select [?]
from tabella;
neanche il ;???

strano

bobby1112
12-06-2010, 10:33
se faccio in questo modo


select [;???]
from tabella



nel box di input inserisco a(nome della colonna )l' esecuzione della query da questo risultato



;???
a
a
a
a
a
a



io invece vorrei


a
1,1
1,2
1,3
1,4

zuper
12-06-2010, 11:04
se faccio in questo modo

controlla bene ;)
select [?]
from tabella;
neanche il ;???

strano

bobby1112
12-06-2010, 11:34
non va

zuper
12-06-2010, 12:24
non va

sorry forse ho letto male prima...
ma nn puoi inserire nell'input il nome della colonna ma solo uno dei valori che ti serve :)

roop72
12-06-2010, 17:40
Ciao bobby
devi scrivere la seguente query:

select a from Tabella where a=[]

bobby1112
13-06-2010, 09:42
non va nemmeno così (non si può fare)

roop72
13-06-2010, 16:57
ciao
forse non ho ben capito cosa vuoi ottenere però ho provato a costruire una tabella di access con semplicemente due campi numerici come nel tuo schema e per estrapolare i dati in base all'input inserito ho scritto l'SQL che ti ho detto e funziona.
Qui di seguito ti scrivo l'SQL che mi genera in automatico Access:

SELECT MiaTabella.campo1, MiaTabella.campo2 FROM MiaTabella WHERE (((MiaTabella.campo1)=[]));


con questa stringa SQL visualizzi entrambe i campi della tabella in base al valore di campo1 inserito, nell'esempio che ti ho postato ieri visualizzavi solo la colonna a

bobby1112
14-06-2010, 08:47
io dovrei effettuate una proiezione della colonna in base alla stringa inserita nel where

ti spiego meglio per esempio ho una tabella

a--b
1--5
2--6
3--7
4--8

Select campo1 from tabella where campo1=[];

inserisco a nel box di input e la query dovrebbe ritornarmi:

a
1
2
3
4

roop72
14-06-2010, 22:27
Ciao
non credo sia possibile fare questa scelta del campo da visualizzare senza ricorrere alla programmazione

forse puoi provarci creando una maschera dalla quale selezioni il campo da visualizzare e che così richiama una sottomaschera che ti visualizza la query, non saprei...

bio n3t
15-06-2010, 17:50
Forse non ho capito bene... ma con una query di questo tipo:

SELECT IIF(Valore = "a", a, b) AS Colonna
FROM tabella;

In questo modo chiede la colonna da visualizzare... però mi sa che non ho capito cosa vuoi fare.

Altrimenti si può usare un pò di codice VBA volendo...