[VB .NET]sql query veranderd ongewild in niet-werkende query

Pagina: 1
Acties:

  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 00:03
Ik wil in visual studio .net een chart maken, dat kan ik doen met een wizard, en in deze wizard moet ik op een gegeven moment een sql query invullen die uit mn access database een paar kolommen haalt die ik vervolgens weer kan gebruiken als waarden voor de x- en de y-as. Dat wil ik doen met deze query:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT
    weerstations.station AS station, 
    g1.fictievedatum AS datum1, 
    g1.t2m AS temp1, 
    g2.fictievedatum AS datum2, 
    g2.t2m AS temp2
FROM
    weerstations, 
    gegevens AS g1, 
    gegevens AS g2, 
    voorspeltermijn
WHERE
    [weerstations].[stationId] = g1.stationId AND 
    [weerstations].[stationId] = g2.stationId AND 
    g1.reeksid = 1 AND 
    g2.reeksid = 2 AND 
    [weerstations].[station] = 'vlissingen' AND 
    [voorspeltermijn].[voorspeltermijnId] = g1.voorspeltermijnId AND 
    [voorspeltermijn].[voorspeltermijnId] = g2.voorspeltermijnId AND 
    [voorspeltermijn].[voorspeltermijn] = '+12' AND 
    g1.fictievedatum = g2.fictievedatum


Als ik deze query invul, geeft hij gewoon aan dat hij het select command heeft aangemaakt, dan doe ik vervolgens preview data (om de kolommen te zien), en dat geeft hij de volgende error:
syntaxisfout (operator ontbreekt) in query-expressie weerstations.stationId = g1.stationId INNER JOIN gegevens g2 ON weerstations.stationId = g2.stationId
Als ik dan de wizard weer ff run en kijk welke query er in staat is deze veranderd in de volgende query:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT
    weerstations.station AS station, 
    g1.fictievedatum AS datum1, 
    g1.t2m AS temp1, 
    g2.fictievedatum AS datum2, 
    g2.t2m AS temp2, 
    weerstations.stationId
FROM
    weerstations INNER
JOIN
    gegevens g1 ON
        weerstations.stationId = g1.stationId INNER JOIN gegevens g2 ON
weerstations.stationId = g2.stationId AND 
        g1.fictievedatum = g2.fictievedatum INNER JOIN voorspeltermijn ON 
g1.voorspeltermijnId = voorspeltermijn.voorspeltermijnId AND 
        g2.voorspeltermijnId = voorspeltermijn.voorspeltermijnId
WHERE
    (g1.reeksId = 1) AND 
    (g2.reeksId = 2) AND 
    (weerstations.station = 'vlissingen') AND 
    (voorspeltermijn.voorspeltermijn = '+12')


Als ik deze laatste query dan weer probeer in Access dan krijg ik dezelfde error. Hoe krijg ik de tweede weer goed? Alvast bedankt, ik zie het niet :?

Ps. Het probleem komt volgens mij doordat ik in de eerste query de tabel gegevens 2 keer nodig heb en dus g1 resp. g2 noem. In de tweede query gebeurt dit volgens mij niet, maar als ik de query verander in 'INNER JOIN gegevens as g2 ON.. etc' dan krijg ik nog steeds dezelfde error.

[ Voor 7% gewijzigd door DarkShadow op 20-04-2004 13:35 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Waar vul je die query in ? Gebruik je die wizard bij een DataAdapter ?

Zo'n dingen kun je hebben he, met wizards. Je kan natuurlijk ook zelf je queries schrijven ipv ze te laten genereren.

https://fgheysels.github.io/


  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 00:03
nou ik heb een progje, dundas web chart, en daar zit een wizard in voor grafieken bouwen, vervolgens zit in deze wizard ook een wizard om de query te selecteren :P.
Dan maakt hij OleDBAdapter1 met de hele zooi erbij natuurlijk (select command etc). Het probleem is dat ik de eerste wizard denk ik wel nodig heb, het is in ieder geval stukken gemakkelijker...

  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 00:03
Ik heb de query gewoon in de code gezet en dat werkt :). Maar suggesties over een tweede query zijn natuurlijk altijd welkom :)