18. maj 2008 - 21:25Der er
46 kommentarer og 1 løsning
Link fra access
Jeg har en maskinliste lavet i Access hvor jeg har tilføjet et felt som linker til et foto/anden side på sitet.
Feltet hedder foto og er af typen hyperlink. I feltet har jeg skrevet teksten: Se foto og tilknyttet hyperlink til et foto (jpg) kunne også være en anden side på site f.eks. popup.
conn.Open "DBQ=" Provider=Microsoft.ACE.OLEDB.12.0;Data Source=../db/maskiner.accdb;Persist Security Info=False; Holder ikke rigtig. Mon ikke det snarere skal være: conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=../db/maskiner.accdb;Persist Security Info=False;"
Nu fandt jeg endelig spørgsmålet http://www.eksperten.dk/spm/206508 og jeg kan ud fra det se at rsInspiration kommer af navnet på tabellen i dette eks.
Min tabel hedder maskinliste, så nu prøver jeg at skifte til det og se hvad der sker.
Item cannot be found in the collection corresponding to the requested name or ordinal.
/asp/maskinliste1.asp, line 108
Når jeg så klikker på det får jeg en fejlmedd.
The page cannot be found Technical Information (for support personnel)
Go to Microsoft Product Support Services and perform a title search for the words HTTP and 404. Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for topics titled Web Site Setup, Common Administrative Tasks, and About Custom Error Messages.
Og hvis jeg så benytter "tilbagepilen" i Explorer står der sådan i feltet:
Se foto#..\billeder\vredo.jpg#
Der må stadig være noget, der ikke er korrekt.
Men hvad? Gør jeg mon forkert i Access?
Feltet er sat til datatype "Hyperlink"
I feltet har jeg skrevet teksten "Se foto" hvortil jeg har knyttet et link/hyperlink: ..\billeder\vredo.jpg
Hvis jeg klikker på det i databasen åbner det, som det skal, en side med et billede af en Vredo
Hedder linkets felt da foto i databasen? Det kunne se ud som om, den i hvert fald har fat i noget nu.
Men fejlen: invalid use of null betyder bare, at feltet i dette tilfælde er tomt, så derfor kan du ikke bruge en replace på det. Prøv lige at rette: <%=replace(rs("foto"),"#","")%> til: <%If Not isNull(rs("foto")) Then Response.Write replace(rs("foto"),"#","")%>
Ja feltet hedder foto. Jeg tænkte nok at det var fordi jeg ikke har noget i feltet på alle poster.
Linie 108 ser nu sådan ud:
<td width="20%" valign="top"><a href=<%If Not isNull(rs("foto")) Then Response.Write replace(rs("foto"),"#","")%> target=<%rs("foto")%>><%= rs("foto")%></a> </td>
Men jeg får stadig fejl som ser sådan ud nu:
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment: 'RS'
/asp/maskinliste2.asp, line 108
Og, hvad med target= , mangler der ikke noget der f.eks. "_blank". Jeg har prøvet at sætte det ind, men det ændrede ikke noget på ovennævnte fejl, så jeg fjernede det lige igen.
<td width="20%" valign="top"><a href=<%If Not isNull(rs("foto")) Then Response.Write replace(rs("foto"),"#","")%> target=<%=rs("foto")%><%=rs("foto")%></a> </td>
Jeg har forresten fjerne en > der stod nemlig sådan - er der ikke en > for meget her?: target=<%=rs("foto")%>><%=rs("foto")% osv.
<td width="20%" valign="top"><a href=<%If rs("foto")<>"" Then Response.Write rs("foto")%> target=<%=rs("foto")%>><%= rs("foto")%></a> </td>
Jeg får ingen fejl på siden, men der står heller ikke noget, der hvor der burde stå noget - nemlig i sidste kolonne på linien med Vredo Tanktrailer 2006 (her skulle linket have været efter 2006):
Nu har jeg brugt den linie du skriver <td width="20%" valign="top"><a href="<%If rs("foto")<>"" Then Response.Write rs("foto")%>" target="<%=rs("foto")%>"><%= rs("foto")%></a> </td>
- men jeg får stadig ikke noget link at se (linie 3 med: Vredo tranktrailer 2006):
Kan det være at jeg skal gøre noget anderledes i min access-database?
Feltnavn: foto Datatype: hyperlink
Obligatorisk: nej TilladNullængde: ja Indekseret: nej UnicodeKomprimering: ja IME-tilstand: intet kontrolelement IME-sætnigstilstand: ingen Tekstjustering: standard
I feltet har jeg skrevet: Se foto - og tilføjet hyperlink: ..\billeder\vredo.jpg
Undskyld, at jeg først reagerer nu, men der har været bryllup i byen, eller nærmere betegnet Møgeltønder i dag, så jeg har ikke lige været ved computeren.
Nu har jeg ændret til ovenstående, <td width="20%" valign="top"><%=rs("foto")%></td> og så står der sådan:
Vredo tanktrailer 2006 Se foto#..\billeder\vredo.jpg#
Det er det med # som også er omtalt i det spørgsmål, jeg henviser til længere oppe i tråden (der hvor jeg fandt den første kode, jeg brugte)http://www.eksperten.dk/spm/206508
og nej, feltet i databasen indeholder ikke " ", der står bare Se foto som jeg har tilføjet linket ..\billeder\vredo.jpg
Samtidig har jeg ændret feltet i min database til TEKST i stedet for HYPERLINK, og så har jeg bare skrevet http://www.vhma.dk/billeder/vredo.jpg i feltet
PS jeg har gemt en anden database, så jeg tester med 2 forskellige (den vi hele tiden har teste med og så nu en ny, hvor jeg tester med den kode, jeg lige fandt på nettet)
Det virker faktisk, rent bortset fra, at der nu står Se foto ud for alle maskiner, selv om der ikke er noget link i databasen.
Billedet åbner godt nok ikke i et nyt vindue, men det kan man vel klare med en target
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.
Det er blevet kaldt ”det største it-nedbrud i historien” og omkostningerne kan nemt løbe op i syv milliarder kroner: Men hvem skal betale for Crowdstrikes fejl?