det funkar såsom så, att varje maträtt innehåller X antal ingredienser, som jag vill lägga i en array (tror jag?) och
sedan hämta alla ur andra tabellen. varje ingrediens kan
naturligtvis ingå i flera maträtter.
jag har sökt på arrays, joins, splits och getrows, men har
tappat all kunskap känns det som? :/
Du borde inte lagra flera värden i ett och samma fält (ingrediensfältet). Men eftersom det ändå ser ut så, så...
strSQL = "SELECT * FROM tblMat WHERE mNamn = 'PassarTillPilsner'"
set objRS = objConn.Execute (strSQL)
If not obJRS.EOF then
' hämta ingredienser
strSQL = "SELECT * FROM tblIngr WHERE iID IN (" & objRS("mIngredienser")"
set objIngr = objConn.Execute(strSQL)
While not objIngr.EOF
' skriv ut ingredienserna
Wend
End if
Som jag förstår detta gör du det svårt för dig, du ska inte lagra värdena i fältet mIngredienser som du gör, då får du endast problem.
Det går att göra som du gör, men det krångligare frågor och övrig hantering.
Bryt ut dessa i en mellantabell, som innehåller
mID
mIngredienser
Där kopplar du alltså ihop recept med ingrediens.
Denna kommer att innehålla fem rader om du har fem ingredienser; det blir alltså en del rader, men det är helt okej.
För att hitta alla recept med ingrediens 4 gör du en fråga med JOIN mellan tblMat och tblIngredienser där mIngredienser=4.