den link referer altså til indholdsdelen og min access database der består af tekst/link til forskellige word dokumenter. I dette tilfælde er det så word dokumenterne under afdelingens virkeområder jeg beder dem om.
Derfor har jeg også i indholdssiden lavet disse kommandoer:
Mit spørgsmål er så, om man på nogen måde kan lave en kommando, der gør at indholdssiden automatisk åbner dokumenterne hvis der kun er et dokument listet i databasen, således at man ikke behøver at trykke på det efterfølgende link?
strSQL = "Select * From wordarkiv Where type='" & strKrit & "'"
Set wordarkiv = Conn.Execute(strSQL)
' Find ud af om der var 1 eller flere rækker antal = 0 Do While NOT wordarkiv.EOF antal = antal + 1 if antal = 1 then ' Gem den første, for det tilfælde at antal = 1 navn = wordarkiv.Fields ("worddoc") Else Exit Do ' Der er flere end 1, vi behøver ikke se resten End If wordarkiv.MoveNext Loop
if antal = 1 then ' Generer noget javascript, der henter den fundne URL rw("<script language=""JavaScript"">location = '" & navn & "';</script>" & vbcrlf) else ' Generer liste over URL's wordarkiv.MoveFirst %>
Vi kan ikke rigtig få det til at virke... Den siger den ikke kan finde siden når der kun er et worddokument. og melder fejl når der intet er... Hjælp, ved godt jeg har givet dig point, men det er livsvigtigt for os..tak på forhånd.
For at finde ud af hvad problemet er, kan du ændre linien:
rw("<script language=""JavaScript"">location = '" & navn & "';</script>" & vbcrlf)
til
rw("<script language=""JavaScript"">//location = '" & navn & "';</script>" & vbcrlf)
Derved forhindrer vi at JavaScript koden til at hente siden bliver udført, og derved kan du se den genererede kode ved at sige 'vis kilde' (eller 'view source' hvis du kører engelsk). Så må du kontrollere, om URL'en ser fornuftig ud.
Jeg prøver det lige, men jeg er først tilbage imorgen igen omkring kl 12.. Har ikke Internet på min egen pc, desværre... men jeg takker virkelig for din hjælp!!
Hvis du har ekstra tid og lyst til nogle flere point, har jeg et ekstra spørgsmål
Når der nu ikke kun er 1 link, men flere, så viser hjemmesiden alle links, men det ser ikke så pænt ud at disse links er hele stien, fx worddoc\civic1.htm Jeg er godt klar over at det er her jeg skal ændre noget: <table>
og jeg har også forsøgt at lave et ekstra felt i databasen der hedder titel og så ændret koden til: <a href="<%=rs("navn")%>"><%=rs("title")%></a> men jeg gør sikkert et eller andet forkert, det er trods alt min første hjemmeside og jeg er ikke så kendt på området endnu. Hvis du kan løse problemet opretter jeg med glæde et nyt spørgsmål og donere 150 point til dig igen...
Det skulle nok kunne klares - det er ikke ganske klart om du har kaldt det nye felt "titel" eller "title". Nu har jeg valgt at kalde det "titel".
Jeg viser lige det meste af logikken igen - jeg fik også lige løst problemet der opstod, når den ikke finder nogen dokumenter.
Hvis du lægger et nyt spørgsmål, så husk at det skal indeholde reference til indeværende - ellers får du på puklen af reglements-vogterne!
Her er det så:
if antal = 0 then rw("Ingen dokumenter fundet<br>") elseif antal = 1 then ' Generer noget javascript, der henter den fundne URL navn = Replace(navn, "\", "\\") rw("<script language=""JavaScript"">location = '" & navn & "';</script>" & vbcrlf) else ' Generer liste over URL's wordarkiv.MoveFirst %>
<table>
<% While NOT wordarkiv.EOF %> <tr> <td> <HR SIZE="1" NOSHADE> </td> </tr> <tr> <td></td> </tr> <tr> <% navn = wordarkiv.Fields ("worddoc") titel = wordarkiv.Fields ("titel") %> <td><A HREF="<% = navn%>"><% = titel%></A></td> </tr> <tr> <td></td> </tr>
<% wordarkiv.MoveNext Wend %> </table> <% end if
Set wordarkiv = Nothing Conn.Close Set Conn = Nothing %>
Jeg har fået det med titlen til at virke, men jeg har fundet lidt småproblemer med mit første spørgsmål. Der hvor der ikke er nogle dokumenter og den skulle skrive "ingen dokumenter fundet" . Det virker kun ved nogle links . Jeg har prøvet at kopiere de links der virker og de fortsætter også med at virke indtil jeg ændre navnet på dem. Jeg har sikkert gjort et eller andet forkert, men jeg kan ikke finde ud af hvilket.. Jeg er næsten sikker på at navnet er rigtigt, men fejlmeddelsen lyder sådan:
Fejltype: Der opstod en Microsoft VBScript-kørselsfejl (0x800A005E) Null er brugt ugyldigt: 'Replace' /projekt sygehus/hjemmesiden/indhold.asp, line 47
Hvad betyder dette.. Jeg har prøvet at højreklikke og sige vis kilde, men der står næsten det samme. Du bliver nød til at hjælpe mig, tiden begynder at blive knap..
Når du gengiver en fejludskrift der indeholder et linienummer fra koden, skal du vænne dig til også at vise den pågældende linie, med samt mindst de foregående 3-4 linier (og evt de 2-3 følgende), og med tydelig angivelse af, hvilken kodelinie der refereres fra fejludskriften. I det aktuelle tilfælde kan jeg godt gætte hvilken linie der er tale om, men det vil generelt ikke være muligt.
Det du i en sådan situation bør vise, kunne se således ud:
... if antal = 0 then rw("Ingen dokumenter fundet<br>") elseif antal = 1 then ' Generer noget javascript, der henter den fundne URL navn = Replace(navn, "\", "\\") <<<<<<< linie 47 <<<<<<*************** rw("<script language=""JavaScript"">location = '" & navn & "';</script>" & vbcrlf) else ...
Jeg har kunnet genskabe dit problem ved at lave en række i databasen med en unik "type", men hvor feltet "worddoc" er tomt. Dette giver i koden anledning til at variablen "navn" ikke indeholder gyldige data, eller med andre ord er "Null". Dette får Replace til at give fejl, men der er i bund og grund tale om, at der er kludder i dit databaseindhold!
Jeg angiver en rettelse hvor denne situation bliver fanget, og du får en fejludskrift der indeholder rækkens "type", men som nævnt - der er kludder i dine data!
... if antal = 0 then rw("Ingen dokumenter fundet<br>") elseif antal = 1 then if IsNull(navn) then rw("Inkonsistente data for type <" & strKrit & "><br>" & vbcrlf) else ' Generer noget javascript, der henter den fundne URL navn = Replace(navn, "\", "\\") rw("<script language=""JavaScript"">location = '" & navn & "';</script>" & vbcrlf) end if else ...
undskyld jeg havde helt glemt at give dig ekstra point som jeg lovede, du siger man skal lave en henvisning.. skal man bare oprette et nyt spørgsmål og skrive hvorfor, eller skal der stå noget bestemt.
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.