Gå til innhold

Anbefalte innlegg

Hei og hopp!

 

Jeg lager en database med masse matvarer, der jeg skal kunne ha muligheten til å søke etter f.eks juice og få opp alle typer juice. Appelsinjuice, eplejuice juicekonsentrat etc.

 

Har nå skrevet Like "*[matvare]*" i tblMatvare.

 

Skal også vise en del andre ting, som valgt måleenhet (liter, desiliter) og mengde. Skal også få opp totale næringsinnhold.

 

Får opp alt dette, men når jeg søker på f eks juice, kommer nærmest alle typer drikke opp.

SQL koden min ser slik ut

PARAMETERS Matvare Text ( 255 ), Måleenhet Text ( 255 ), AntallEnheter Value;
SELECT tblMatvare.Navn, [Mengde]*[AntallEnheter] AS AntallEnheter, tblEnhet.Enhet, tblMatvare.SpiseligDel, tblMatvare.Vann, tblMatvare.Kilojoule, tblMatvare.Kilokalorier
FROM tblMatKategori INNER JOIN (tblEnhet INNER JOIN (tblMatvare INNER JOIN tblMatvareEnhet ON tblMatvare.ID = tblMatvareEnhet.MatvareID) ON tblEnhet.EnhetsID = tblMatvareEnhet.EnhetsID) ON tblMatKategori.KategoriNr = tblMatvare.Kategori
GROUP BY tblMatvare.Navn, [Mengde]*[AntallEnheter], tblEnhet.Enhet, tblMatvare.SpiseligDel, tblMatvare.Vann, tblMatvare.Kilojoule, tblMatvare.Kilokalorier, tblMatvareEnhet.MatvareID
HAVING (((tblMatvare.Navn) Like "*[matvare]*") AND ((tblEnhet.Enhet)=[Måleenhet]));

 

Hva gjør jeg galt?

Endret av stian123
Lenke til kommentar
Videoannonse
Annonse

Virker som du gjør det forferdelig komplisert. Ville gjort noe sånt:

 

SELECT id, Navn

FROM tblMatvare

WHERE Navn LIKE '%juice%';

 

Tilpasser du den spørringen litt, vil alle juicer komme fram. Når du så velger en juice fra listen, kan du hente fram mer informasjon om den akutelle juicen.

 

SELECT *

FROM tblMatvare

WHERE id = id (id er den du hentet fra forrige spørring).

Lenke til kommentar

Virker som du gjør det forferdelig komplisert. Ville gjort noe sånt:

 

SELECT id, Navn

FROM tblMatvare

WHERE Navn LIKE '%juice%';

 

Tilpasser du den spørringen litt, vil alle juicer komme fram. Når du så velger en juice fra listen, kan du hente fram mer informasjon om den akutelle juicen.

 

SELECT *

FROM tblMatvare

WHERE id = id (id er den du hentet fra forrige spørring).

 

Men poenget er at en annen person skal kunne søke i databasen uten å måtte programmere selv. Ikke bare juice, men også pizza, gulrot etc.

Lenke til kommentar

Har forenklet den for å gjøre eksempelet lettere:

 

PARAMETERS Matvare Text ( 255 );

SELECT tblMatvare.Navn

FROM tblMatvare

WHERE (((tblMatvare.Navn) Like "[Matvare]"));

 

Men å bruke "%[Matvare]%" ser ikke ut til å fungere, da jeg ikke får noenting opp. Har også prøvd med "*[Matvare]*" og diverse andre tegn, men ser ikke ut til å fungere.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...