03. januar 2007 - 17:07Der er
9 kommentarer og 1 løsning
Exists i VB.net
Hej
Jeg har et problem der giver med grå hår og håber virkelig i kan hjælpe.
Jeg har opbygget en forespørgsel i Access som benytte Exists og et par subqueries. Efter at forespørgslen var færdig og jeg havde testen at den virkede som forventet i access kopierede jeg den direkte over i VB.net hvor jeg egentlig skulle bruge den. Problemet er bare at når jeg kører SQL'en fra VB.net får jeg en record ud, og når jeg kører den i access (2 sek. efter) får jeg nul records ud (det sidste er det korrekte).
Nogen forslag til hvad årsagen til dette kan være... Jeg er dybt forvirret...
SELECT * FROM [SELECT Opgaver.Ansvarlige,Opgaver.Overskrift, Maanedsseddel.UdførtAf FROM Maanedsseddel LEFT JOIN Opgaver ON Maanedsseddel.Opgave = Opgaver.Id WHERE(((Maanedsseddel.DatoSenest) = date()) AND Maanedsseddel.UdførtAf IS NULL)
]. AS A WHERE EXISTS (SELECT * FROM (
SELECT Logins.Initialer, Format(Last([Tid]),'dd/mm/yyyy') AS Dato FROM(Logins) GROUP BY Logins.Initialer HAVING (Format(Last([Tid]),'dd/mm/yyyy')=Format(date(),'dd/mm/yyyy'))
) AS B WHERE A.Ansvarlige LIKE '*' & B.Initialer & '*')=false;
I have alredy tried calling the query directly... same result :-(
Not easy to make suggestions when I dont know fo rsure what your trying to do.
When you use IN you must only select one field which normally will be a unique value for example the primary key. There is an example in the like you gave earlier.
WHERE pno = 'P1' AND sno NOT IN ( SELECT sno FROM sp WHERE pno = 'P1' AND qty = 1000) ;
The Sub select just selects all of the sno which the outer selects sno must NOT be in
You could also try each sub select to see if you can find out which one returns the incorrect result. Then maybe it will be easier to find the poroblem which may not be EXISTS
" .....AS B WHERE A.Ansvarlige LIKE '*' & B.Initialer & '*')=false; ...."
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.