Ok. Her kommer et spørgsmål der er lidt svært at formulere så det
giver mening, men jeg forsøger.
Jeg har et site med en database der indeholder mange tabeller med
relationer imellem dem. Jeg har bl.a. en tabel der hedder
”tilbud” med post der hedder ”målgruppe”. Posten ”målgruppe” er
forbundet til en tabel ”malgr” som har en tilsvarende post der
hedder ”målgruppe”. (1-til-mange relation hvor malgr.målgruppe er
"1"- delen).
I malgr tabellen har jeg 7 målgrupper som alle tilbud skal
placeres inden for. For at sikre mig, at der ikke vælges andre
målgrupper i ”Tilbud” tabellen skal brugeren vælge disse via en
drop-down”. Problemet er så, at når jeg sætter tilbudet ind i
databasen kan ”malgr” tabellen ikke genkende målgruppen og
afviser den. (tror jeg nok).
I koden henter jeg tilbudets record ind for at se hvilken
målgruppe der evt tidligere er valgt sådan at denne står selected
i dropdown menuen. Dette gør jeg via en funktion (som jeg i
øvrigt har lært her på html.dk og er rigtig glad for).
<%
Function printOption(link, hvem)
Dim selected
If link = mmode Then
selected = "selected"
Else
selected = ""
End If
printOption = "<option "&selected&">"&hvem&"</option>"
End Function
…
mmode =trim(rsInst("målgruppe"))
Dim rsmalgrup1
set rsmalgrup1 = Server.CreateObject("ADODB.Recordset")
rsmalgrup1.ActiveConnection = strConn1
rsmalgrup1.Source = "SELECT Distinct [målgruppe] FROM malgr"
rsmalgrup1.CursorType = 0
rsmalgrup1.CursorLocation = 2
rsmalgrup1LockType = 3
rsmalgrup1.Open
rsmalgrup1_numRows = 0%>
<TABLE BORDER="2">
<td style= background:#8C9C9d ><b>Målgruppe: </b></td>
<td>
<select size="1" name="malgrupny">
<% Response.write printOption("", "Vælg en kategori")
Do While Not rsmalgrup1.EOF
Response.write printOption(trim(rsmalgrup1("målgruppe")),
trim(rsmalgrup1("målgruppe")))
rsmalgrup1.movenext
Loop
%>
</select> </table>
.................................................................
..................
Så langt ser det ud til at virke. Når jeg skal behandle formen
ser det dog ud til, at der går noget galt. Her er et lille
udsnit:
… strMalg= trim(Request.Form("malgrupny"))
…
strSQL = "Update ret set "
strSQL = "Update ret set " strSQL = strSQL & "[målgruppe]= ' "&
trim(strMalg) & " ' , "
strSQL = strSQL & " Where tilbud.id =" &
Request.Querystring("id")& " "
Jeg får følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] You cannot add or
change a record because a related record is required in table
'malgr'.
Er der nogen der kan se hvad der går galt? (Er der nogen der
forstod mit spørgsmål..?)
På forhånd tak for hjælpen.
Laurits
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials