devotionMedlem sedan jan. 20013 582 inlägg Hej!
Har följande fråga:
SELECT DISTINCT tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit
FROM tblArticle
INNER JOIN tblPrice ON tblArticle.articlenumber = tblPrice.articleNumber
WHERE tblArticle.articleName LIKE '%EKLK 3G1,5 R50%'
ORDER BY tblArticle.articleNumber ASC
denna ger resultatet:
Benämning Enhet Extra
EKLK 3G1,5 R50 m cell3
EKLK 3G1,5 R50 m cell3
EKLK 3G1,5 R50 m cell3
EKLK 3G1,5 R50 m cell3
EKLK 3G1,5 R50 m cell3
+ EKLK 3G1,5 R50 m cell3
Hur modifierar jag frågan så den endast visar:
EKLK 3G1,5 R50 m cell3
+ EKLK 3G1,5 R50 m cell3
Jag provade att ta bort
tblArticle.articleNumber
från seleckten och det fungerarde om jag bara sökte på articleName. Men jag vill ju kunna söka på articleNumber oxå, och då måste jag ju ha med det...
Hur kan jag göra?
MVH
Henrik
LarsGMedlem sedan dec. 200012 464 inlägg Jag tycker att ditt resultat inte hänger ihop med din fråga.
Om du bara vill kontrollera att din artikel har ett pris så är en subselect mer naturlig.
SELECT tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit
FROM tblArticle
WHERE tblArticle.articleName LIKE '%EKLK 3G1,5 R50%'
and article_number in
(select article_number
from tblPrice)
ORDER BY tblArticle.articleNumber ASC
Men jag vill ju kunna söka på articleNumber oxå, och då måste jag ju ha med det...
Vad menar du med det?
devotionMedlem sedan jan. 20013 582 inlägg Hej igen...
Hmmm, har nog krånglat till det lite i onödan....
tblArticle innehåller ju articleNumber, artricleName, articleUnit... så någon join behöver ju inte göras... Sorry!
Så följande fråga:
SELECT DISTINCT tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit
FROM tblArticle
WHERE tblArticle.articleName LIKE '%EKLK 3G1,5 R50%'
ORDER BY tblArticle.articleNumber ASC
ger följande resultat:
Benämning Enhet Extra
EKLK 3G1,5 R50 m cell3
EKLK 3G1,5 R50 m cell3
EKLK 3G1,5 R50 m cell3
EKLK 3G1,5 R50 m cell3
EKLK 3G1,5 R50 m cell3
+ EKLK 3G1,5 R50 m cell3
Om jag anger articlename som sökvillkor... Jag vill ju bara ha:
EKLK 3G1,5 R50 m cell3
+ EKLK 3G1,5 R50 m cell3
Om jag däremot anger articleNumber som sökvillkor:
SELECT DISTINCT tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit
FROM tblArticle
WHERE tblArticle.articleNumber = '0000040'
ORDER BY tblArticle.articleNumber ASC
får jag följande resultat:
Benämning Enhet Extra
EKKJ 1X10/10 m cell3
Hur gör jag för att "bara" få ett svar om jag anger articleName som sökvillkor fast det finns flera artiklar som matchar i databasen?
Mvh
Henrik
LarsGMedlem sedan dec. 200012 464 inlägg Det stämmer fortfarande inte. Du säger att du har distinct i frågan men de 5 första posterna i ditt resultat är identiska vilket inte är möjligt.
devotionMedlem sedan jan. 20013 582 inlägg Konstigt....
Det blir så iaf.. Skickar en dump.
Mvh
Henrik
LarsGMedlem sedan dec. 200012 464 inlägg Du använder tblArticle.articleName, tblArticle.articleNumber, tblArticle.articleUnit i frågan men i resultatet så har du Benämning Enhet Extra.
Vad är vad här? Blanda inte bort korten för mig på detta sätt. Jag blir alldeles förvirrad. Ställ frågan direkt i något administrationsverktyg istället och visa resultatet av det.
Jag börjar väl ana att du inte visar artikelnummer i ditt resultat. Dvs ditt resultat ser egentligen ut som
Articlename ArticleNumber ArticleUnit
EKLK 3G1,5 R50 0000050 m
EKLK 3G1,5 R50 0000051 m
EKLK 3G1,5 R50 0000052 m
EKLK 3G1,5 R50 0000053 m
EKLK 3G1,5 R50 0000054 m
+ EKLK 3G1,5 R50 1234567 m
eller vad?
Det är alltså samma vanliga gamla fråga. Vilket artikelnummer vill du ha om det finns flera poster med samma namn och enhet?
devotionMedlem sedan jan. 20013 582 inlägg Som vanligt har du ju rätt LarsG.... Sorry.. ;)
Nu blir det lite asp med...
Men, jag har följande kod nu som ändras beroende på om man valt att söka på nummer eller namn.
'Sätta defaultvärden
'*******************
sOption = "tblArticle.articleNumber = '" & sSearchField & "'"
sOrder = "tblArticle.articleNumber"
sSelect = "tblArticle.articleNumber, tblArticle.articleName"
'Sätta sökvillkor
'****************
If sSearchOption = "articleName" then
sOption = "tblArticle.articleName LIKE '%" & sSearchField & "%'"
sSelect = "tblArticle.articleName"
sOrder1 = "tblArticle.articleName"
End If
'SQL-fråga
'*********
sSQL = "SELECT DISTINCT " & sSelect & ", tblArticle.articleUnit " &_
"FROM tblArticle " &_
"WHERE " & sOption & "" &_
"ORDER BY " & sOrder & " ASC"
Den fungerar fint och resultatet blir:
SELECT DISTINCT tblArticle.articleName, tblArticle.articleUnit
FROM tblArticle
WHERE tblArticle.articleName LIKE '%EKLK 3G1,5 R50%'
ORDER BY tblArticle.articleName ASC
Benämning Enhet
+ EKLK 3G1,5 R50 m
EKLK 3G1,5 R50 m
Är det så här man ska göra eller?
Mvh
Henrik