webForumDet fria alternativet

problem med array.. tror jag.

4 svar · 280 visningar · startad av nakoz

nakozMedlem sedan dec. 1999570 inlägg
#1

usch, jag har varit ifrån kodningen för länge nu..

jag använder access och vill koppla samman två tabeller enligt denna mall, typ:

tblMat
=====
mID [räknare]
mNamn [text]
mIngredienser [text - ex: 2,4,9,25,68]

tblIngr
=====
iID
iNamn

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? :/

tacksam för snabb hjälp... (@nders? :))

@ndersMedlem sedan juni 200026 914 inlägg
#2

Jag är inte här. ;)

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

Något sånt iaf...

J.N.Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

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.

nakozMedlem sedan dec. 1999570 inlägg
#4

tackar för hjälpen.. nu funkar det kanonbra...

@nders, du borde veta bättre... hjälp mig inte göra dålig
kod, utan berätta hur jag ska vägledas till bra kod istället ;)

@ndersMedlem sedan juni 200026 914 inlägg
#5

Japp, jag vet bättre. Det borde du också. ;)

Genererad på 383 ms · cache AV · v20260730165559-full.f96bc7eb