31. juli 2004 - 13:36Der er
17 kommentarer og 1 løsning
Indsætte hidden fields i combobox
Jeg har 2 tabeller med følgende indhold.
tabel 1
byggeid bygsagsid bygadresse
Tabel 2
BID BygSagsid BygAdr BygTekst BygBilled
Jeg bruger en combobox til at vise/vælge BygAdr i en form til at oploade billeder, hvordan får jeg lige sat et "hidden field" ind med bygsagsid så den kommer med i tabellen.
Jeg gik ud fra at drop.Fields.Item skulle hedde noget i stil med de andre så jeg komponerede linjen som: <input type="hidden" name="bygsagsID " value="<%=(drop.Fields.Item("bygsagsid ").Value)%>"> PS: Der er sneget sig et mellemrum ind i name.
Du har skrevet Bygadres, men det er nok med vilje? Jeg ved ikke hvad id felterne skal hedde i dit system. Eller er det noget helt tredje der kan være galt? Jeg tror nu det er let at klare.
Det virker næsten, den tager hidden fields med over i db. Det er bare det forkerte tal. Jeg vælge nr 2 i combo box og den tager tallet fra nr. 1 med over. Det skulle være sådan at man vælger bygadresse (fra tabel 1) og den tager bygsagsid (fra tabel 1) med over i hidden fields også lægger det hele ind i tabel 2
Hvorfor skulle vi egentlig overføre det id i hidden fields, det kan man alligevel ikke. Vi tager da bare og lader den besøgende vælge byggeteksten og overfører det tilhørende id via formen med denne linje:
While (NOT drop.EOF) %> <option name="BygsagsID" value="<%=(drop.Fields.Item("bygsagsid").Value)%>"><%=(drop.Fields.Item("Bygadres").Value)%></option> <% drop.MoveNext()
Og så vælger vi det pågældende id's data med SQL fra tabel1 og indsætter i tabel2. Så skal der bare laves om på upload.asp så vi vælger sådan ca:
strSQL = "SELECT * FROM tabel1 WHERE id = '" & & "'"
Den kommer med følgende fejl. Filen nj.jpg er uploaded! Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters. /upload.asp, line 34
Jeg tror at det er her at fejlen ligger. strSQL = "SELECT * FROM Bygbilled WHERE id = '" & Str_BygsagsID & "'"
Billedet bliver oploadet fint nok, men der kommer intet i db´en.
Nå ja det skal nok være et tal fx value="999"> og opsnappe det på upload siden med en stopklods efter udskrivning af SQL strengen:
set Str_BygAdr = Upload.Form("BygAdr") Set Str_BygTekst = Upload.form("BygTekst") Set Str_BygsagsID = Upload.form("BygsagsID") response.write Str_BygsagsID response.end
Det kan også være at SQL strengen skal se sådan ud. Det plejer jeg at forsøge mig frem med og så udskrive SQL strengen.
strSQL = "SELECT * FROM Bygbilled WHERE id = " & Str_BygsagsID response.write strSQL response.end
Jeg ser du har sat strSQL = "SELECT * FROM Bygbilled WHERE id = " & Str_BygsagsID &"" ovenpå der hvor der skal indsættes. Som sagt jeg kan ikke køre nogen koder. Jeg håber jeg kan hjælpe, men har begrænset tid. Jeg har tabt tråden. For jeg troede du ville hente fra Tabel Bygbilled og indsætte i Tabel Bygsag?
Jeg har selv haft held med, i sådan en situation, at oprette et helt ny spm med en ny klar opgaveformulering. Så kan det være eagleeye eller andre kanoner kommer forbi og smider en mere eller mindre færdig kode, der kan klare problemet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.