Avatar billede remo27 Nybegynder
29. februar 2004 - 20:27 Der er 35 kommentarer og
1 løsning

udtræk som går på uger

Jeg har dette stump kode
som laver et nyt udtræk pr. måned

<%Set Query = Conn.Execute("SELECT * FROM kalender WHERE emne='kk' AND Month(dato)=Month(Date()) AND Year(dato)=Year(Date()) order by dato")%>

Nu vil jeg gerne have den til at lave udtræk pr. uge.

jeg har prøvet med dette

<%Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND Weekday(dato)=Weekday(Date()) AND Month(dato)=Month(Date()) AND Year(dato)=Year(Date()) order by dato")%>


i min database tabel har jeg følgende

id-autonr.
uge-tekst
tekst-notat
emne- tekst


Hvem kan hjælpe.
Avatar billede nute Nybegynder
29. februar 2004 - 20:58 #1
Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = '" &  DatePart( "ww", Date() ) & "'")
Avatar billede remo27 Nybegynder
29. februar 2004 - 21:09 #2
Fejltype:
ADODB.Field (0x80020009)
Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
/web/Planteskole/Default.asp


min default.asp

<%@ LANGUAGE = VBScript.Encode %>
<% Option Explicit %>
<% Session.LCID = 1030 %>
<% response.buffer = true %>

<!-- www.planteskole-ringen.dk hjemmeside er Redesignet af Remo Munk-Olesen -->

<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>.::&nbsp;www.PLANTESKOLE-RINGEN.DK&nbsp; ::.</title>
<link rel="stylesheet" type="text/css" href="css/planteskole.css">

</head>

<body class="tbody" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">

<%
  Dim Conn, DSN, emne, STRDBNAVN, Query, id
' Databaseforbindelse [DNSless] - Stien til databasen lokaliseres
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("planteskole.mdb")
Conn.Open DSN
emne = request("emne")
%>

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
  <tr>
    <td width="100%">
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
      <tr>
        <td width="100%">
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
          <tr>
            <td width="25%" background="images/kant.gif" align="center">&nbsp; </td>
            <td width="45%"><img border="0" src="images/toplogo.gif"></td>
            <td width="30%" background="images/kant.gif" align="center">&nbsp;
            </td>
          </tr>
        </table>
        </td>
      </tr>
      <tr>
        <td width="100%">
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
          <tr>
            <td width="100%" background="images/kant.gif"><marquee>Rullende banner</marquee></td>
          </tr>
        </table>
        </td>
      </tr>
      <tr>
        <td width="100%">
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
          <tr>
            <td width="100%" background="images/kant.gif" align="center"><a href="default.asp?emne=planteskole">Her finder du os</a>|Aktuelle tilbud|®home
            &amp; Garde|Gode råd om planter og have|haveplanter|Havekonsulent|Gavekort|Artikler|links</td>
          </tr>
        </table>
        </td>
      </tr>
      <tr>
        <td width="100%">
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
          <tr>
            <td width="2%" background="images/kant.gif">&nbsp;</td>
            <td width="95%"><% if emne = "" or emne = "info" then
emne = "info"
%>
<!--#include file="start.asp" -->
<%end if%>

<% if  emne = "tak" then %>
<!--#include file="tak.asp" -->
<%end if%>

<% if  emne = "planteskole" then %>
<!--#include file="planteskoler.asp" -->
<%end if%>

</td>
<td width="1%" background="images/kant.gif">&nbsp;</td>
            <td width="2%" background="images/kant.gif">&nbsp;</td>
          </tr>
        </table>
        </td>
      </tr>
      </table>
    </td>
  </tr>
</table>


</body>

</html>
Avatar billede nute Nybegynder
29. februar 2004 - 21:21 #3
1) der er jo ingenting i denne kode der faktisk foretager en spørging til en database, der er heller intet i denne kode, der udskriver noger fra en db.

2) Fejlen kommer af at din SQL ikke returnere nogen records. Du prøver at udskrive en række når der ikke er en række. prøv at sætte en EOF check inden du skriver noget fra db'en:

If NOT myRecordsetObjekt.EOF Then
    Response.Write( myRecordsetObjekt("minRække")
End If

eller

While Not myRecordsetObjekt.EOF
    Response.Write( myRecordsetObjekt("minRække")
Wend

3) Hvorfor er 'uge' en tekst kolonne i din db ? Nummerering af uger er da en tal angivelse. Hvis det er fordi du gemmer oplysninger i formatet "Uge 1", "Uge 2" osv, så er dette en dårlig løsning. Jeg vil anbefale dig at lave 'uge' kolonnen om til tal. så vil din SQL se sådan ud:

Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date() ))

4) det er ikke noget point i at poste så meget kode her inde, når det kun er en meget lille del af koden der går galt. Næste gang, post de linjer der skaber problemer - så er det også meget nemmere for os at overskue hvad der går galt. Hvis vi får for lite kode, så beder vi bare om mere ;o]

/nute
Avatar billede remo27 Nybegynder
29. februar 2004 - 21:27 #4
Nute>> Jeg er ikke så stærk i asp. er det noget du kunne hjælpe mig med ????
Avatar billede nute Nybegynder
29. februar 2004 - 21:32 #5
hjælpe med hvad ?
Avatar billede remo27 Nybegynder
29. februar 2004 - 21:36 #6
med at lave et en funktion som viser ugens råd.

det er denne side www.planteskole-ringen.dk som jeg er ved at lave i en asp udgave,
nederst på deres side har de "ugens råd"  det vil jeg gerne have ind på forsiden af det jeg laver men den skal bare skifte automatisk, hver uge
Avatar billede nute Nybegynder
29. februar 2004 - 21:43 #7
jeg har jo fortalt deg hvordan du skal gøre :

1) konverter din 'uge' kolonne i databasen til data-typen 'integer'(nummer)
2) så kører du denne SQL:

Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date() ))

og skriver ud dit resultat:

If NOT Query .EOF Then
    Response.Write( Query ("tekst")
End If

det er det hele ...
Avatar billede remo27 Nybegynder
29. februar 2004 - 21:45 #8
k,det prøver jeg
Avatar billede remo27 Nybegynder
29. februar 2004 - 21:57 #9
Fuck, hvor er jeg dum, jeg fatter MINUS lige nu ...... :O(

min db.

id-autonr.
uge-tal
tekst-notat
emne- tekst


får denne fejl 

Fejltype:
Microsoft JET Database Engine (0x80040E07)
Datatyperne stemmer ikke overens i kriterieudtrykket.
/web/Planteskole/raad.asp, line 3


!-- #include file="databaseforbindelse.asp" -->

<%Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = '" &  DatePart( "ww", Date() ) & "'")%>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="40%" class="nyhed"><%=Query("uge")%>&nbsp;</td>
    <td width="60%" class="nyhed"><%=Replace(Query("tekst"),vbcrlf,"<br>" & " ")%></td>
  </tr>
<% conn.close
  Set Conn = Nothing %>
        </table>



Jeg giver gerne flere point for at være dum og fatsvag .... :O(
Avatar billede nute Nybegynder
29. februar 2004 - 22:01 #10
du gør jo ikke som jeg skriver!!!

1) Dit 'uge' felt i databasen skal være af typen TAL !!
2) Brug denne SQL:
Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date() ))

du har jo ikek gjort noget af det jeg har skrevet ?!?!
Avatar billede remo27 Nybegynder
29. februar 2004 - 22:05 #11
nu har jeg lavet uge til type tal

og brugt din set Query.......

så kommer denne fejl

Fejltype:
ADODB.Field (0x80020009)
Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
/web/Planteskole/Default.asp
Avatar billede nute Nybegynder
29. februar 2004 - 22:10 #12
som jeg (også) har skrevet tidligere, så kommer denne fejl af at din spørging ikke resulterer i noget.

hvad indeholder din 'uge' kolonne i databasen ? hvilket format ligger data i ? ligger det nogle rækker der har værdien '9' i databasen ?

/nute
Avatar billede remo27 Nybegynder
29. februar 2004 - 22:15 #13
sorry I'm a so stupid....

min db.

id-autonr.
uge-tal
tekst-notat
emne- tekst

i ID  cellen står der 1 - 4  da der er 4 poster i db
i uge cellen står der  6-9  da det er uge 6 , 7 osv...
i tekst cellen, står der tekst.
i emen cellen står der raad  for at kalde det noget.
Avatar billede nute Nybegynder
29. februar 2004 - 22:22 #14
prøv at udskrive din SQL istedet for at køre den. Det gør du ved at skrive:

Response.Write( "SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date() )
Response.End

i linjen over

Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date() ))

Dette bør resultere i en SQL der ser sådan ud:

SELECT * FROM raad WHERE emne='raad' AND uge = 9

prøv at køre denne SQL direkte i din database. Hvis du har nogen rækker i din db som har værdien '9' i 'uge' kolonnen, så skal du få et resultat.

/nute
Avatar billede remo27 Nybegynder
29. februar 2004 - 22:28 #15
den kommer med denne sætning

SELECT * FROM raad WHERE emne='raad' AND uge = 10
Avatar billede nute Nybegynder
29. februar 2004 - 22:37 #16
oki.  og du har ingen rækker i din db hvor uge er 10 ?

Grunden til at du får den forkerte ugeangivelse i din SQL, er fordi din computer allerede er i uge 10. Den regner med at søndagen er starten på ugen. Du er nødt til at fortælle systemet at den første dagen om ugen, er mandag. Det gøres ved at sende med et parameter til DatePart funktionen, som du allerede bruger. Den skal se sådan ud:

DatePart( "ww", Date(), 2 )

Systemet regner søndag som 1, mandag som 2 og lørdag som 7. 2-tallet i linjen over, siger så til DatePart funktionen, at den skal starte beregningen fra mandagen.

Din spørging skal så se sådan ud:

Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date(), 2 ))

/nute
Avatar billede remo27 Nybegynder
29. februar 2004 - 22:46 #17
Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk
/web/Planteskole/start.asp, line 55

start.asp

linie 55    <% Set Query = Conn.Execute("SELECT * From info Where emne = '" & emne & "' ")%>


er det fordi de begge steder hedder Query ???
Avatar billede nute Nybegynder
29. februar 2004 - 22:55 #18
har du husket at åbne din connection til din database ?

hvis du laver en side der du kun har dine SQL kald:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("planteskole.mdb")
Conn.Open DSN
Set Query = Conn.Execute("SELECT * From info Where emne = '" & emne & "' ")
Query.Close
Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date(), 2 ))
Query.Close
Conn.Close
%>

Fejler den så ?

det gør intet at du genbruger dit 'Query' objekt

/nute
Avatar billede remo27 Nybegynder
29. februar 2004 - 23:02 #19
jeg har på min raad.asp

<! --- #include file="databaseforbindelse.asp"  -->

min databaseforbindelse.asp ser således ud.

<%
Response.Expires = 0
Response.Expiresabsolute = DateAdd("d", -2, Now())
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "private"

' ** Changed by Jon Brohauge 2002/08/02
' ** Jeg har ændret i stien STRDBNAVN, da mit system ikke ville godtage sti-formatet: ../judo.mdb
' ** Det har noget med sikkerheden at gøre. Det kan være at du skal ændre på stien igen.

STRDBNAVN="planteskole.mdb" 'her tilføjes databasen navn
DSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""& STRDBNAVN & "") 
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open DSN
%>
Avatar billede nute Nybegynder
29. februar 2004 - 23:09 #20
jeg kender ikke dine sider. det at du skriver dette på din 'raad.asp' side, siger mig intet. Du er nødt til at åbne din database forbindelse på alle sider du skal bruge den. i toppen af hver side, laver du en 'Conn.Open' og i bunden af hver side er du nødt til at lukke den med 'Conn.Close'. din database forbindelse bliver ikke "husket" fra side til side.

Hvis du har én side, der indeholder mange andre sider, som også skal bruge en database forbindelse, så holder det med at den side, som indeholder alle andre sider, åbner en databaseforbindelse.

jeg stiller dig et spm i min forrige posting - kører den kode jeg har postet ?

/nute
Avatar billede remo27 Nybegynder
29. februar 2004 - 23:25 #21
er det snart ikke nemmere jeg sender dig mit website *GG*
Avatar billede nute Nybegynder
29. februar 2004 - 23:27 #22
det er det jo ikke noget hjælp i ;o] hvis jeg laver det for dig, hvad lærer du så ?
Avatar billede remo27 Nybegynder
29. februar 2004 - 23:30 #23
det er også rigtigt, men jeg er ved at løbe sur idet. jeg giver gerne 100 p. mere hvis jeg må sende dig, websitet, så kan du lave fluks, og sende en beskrivelse hvad jeg ikke forstår og gør galt.
Avatar billede nute Nybegynder
29. februar 2004 - 23:37 #24
jeg forstår ikke at du ikke forstår :-|

du har en side som du skal skrive ud resultatet fra en database. jeg har postet løsningen til dig ... og kommenteret det optil flere gange.

Gør som jeg siger og fortæl mig resultatet af det jeg beder om !!!

LAV en side der ser sådan ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("planteskole.mdb")
Conn.Open DSN

Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date(), 2 ))

If( NOT Query.EOF ) Then
    Response.Write( "Tekst: " & Query( "tekst" ) )
else
    Response.Write( "Der er ingen tekst for denne uge" )
end if
Query.Close
Conn.Close
%>

hvad sker når du kører denne side ???
Avatar billede remo27 Nybegynder
29. februar 2004 - 23:43 #25
jeg får denne fejl

Fejltype:
ADODB.Connection (0x800A0E78)
Handlingen er ikke tilladt, mens objektet er lukket.
/web/Planteskole/start.asp, line 55


start.asp
linie:
55 <% Set Query = Conn.Execute("SELECT * From info Where emne = '" & emne & "' ")%>
56 <td class="td_bg" width="55%" class="tekst"><br><%=Replace(Query "tekst"),vbcrlf,"<br>" & " ")%></td>
57 <% conn.clos
58      Set Conn = Nothing %>
Avatar billede remo27 Nybegynder
29. februar 2004 - 23:45 #26
der er et 'e' <% conn.clos  det må have glippet da jeg kopierede teksten
Avatar billede nute Nybegynder
29. februar 2004 - 23:49 #27
hmm ... læser du overhovedet hvad jeg skriver til dig ???

du prøver at bruge din 'Conn' (database forbindelse) når den ikke er åben. jeg har skrevet tidligere at du skal ÅBNE din database forbindelse på alle sider, og lukke dem igen på alle sider.

og hvorfor tester du ikke den kode jeg beder dig om ??? hvis du ikke er mere behjælpelig med at lade mig hjælpe dig, så gider jeg desværre ikke bruge tid på dette. jeg har bedt dig om flere specifikke ting - og når du ikke gør det jeg beder dig om at teste, så ser jeg ingen grund til at jeg skal bruge tid på dig.
Avatar billede nute Nybegynder
29. februar 2004 - 23:50 #28
og hvis det er noget i mine indlæg du ikke forstår, så skriv det dog til mig og fortæl hvad du ikke forstår. jeg er ikke tankelæser og har ingen mulighed til at finde ud af hvad du mener med mindre du fortæller det til mig.
Avatar billede remo27 Nybegynder
29. februar 2004 - 23:52 #29
JEG LÆSER OG GØR HVAD DU BER MIG OM.......

raad.asp

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("planteskole.mdb")
Conn.Open DSN

Set Query = Conn.Execute("SELECT * FROM raad WHERE emne='raad' AND uge = " &  DatePart( "ww", Date(), 2 ))

If( NOT Query.EOF ) Then
    Response.Write( "Tekst: " & Query( "tekst" ) )
else
    Response.Write( "Der er ingen tekst for denne uge" )
end if
Query.Close
Conn.Close
%>

Var det ikke det der skulle ind på en side ??????????
Avatar billede remo27 Nybegynder
29. februar 2004 - 23:58 #30
opret et svar så får du dine point. Så dropper vi denne her ting,
jeg er ked af jeg ikke er så stærk i asp, at du har sendt mig hele løsningen
er også fint, bare træls nå man ikke selv kan gennemskue den
og at der kommer fejl meddelser hele tiden.  Men lad os ikke
bruge flere kræfter på det........
Avatar billede nute Nybegynder
29. februar 2004 - 23:59 #31
det er ingen grund til at råbe...

jo, det skulle ind på en side for sig selv ... intet andet. så beder jeg dig om at fortælle mig om det går fint - om denne side kører. Gør den det ?

Jeg beder dig også om at skrive 'Conn.Open' i toppen af alle sider, og 'Conn.Close' i bunden af alle sider der bruger databaser. Har du gjordt det ? (der skal ikke stå Conn.Open mere end én gang pr side, og det skal hellere ikke stå 'Conn.Close' mere end én gang pr side)

Fortæl mig hvad du har gjordt og resultatet af det istedet for at sige "det fungerer ikke" eller poste noget kode jeg ikke kan bruge til noget. Og ... svar på mine spørgsmål ... det er en grund til at jeg stiller dem ;o]

/nute
Avatar billede nute Nybegynder
01. marts 2004 - 09:33 #32
du skal ikke være ked af at du ikke er så stærk i asp ... det kommer med tiden. Jeg vil gerne hjælpe dig til at få det op at køre, men for at det skal ske, så må du gøre som jeg siger og svare på de spm jeg stiller dig :-)

/nute
Avatar billede remo27 Nybegynder
01. marts 2004 - 20:31 #33
okay, så er jeg klar igen, jeg gik i seng, efter vi blev sparket af Eksperten, bruger du MSN, så kunne vi kommenikerer over den ????,  det går lidt hurtigere
Avatar billede remo27 Nybegynder
01. marts 2004 - 20:56 #34
some one pleas help.....
Avatar billede remo27 Nybegynder
01. marts 2004 - 23:47 #35
Nute>> Vil du ikke være sød at oprette et svar, så du kan få point for din hjælp, forleden aften.

Jeg har fået hjælp til at gøre færdig.

<%
SQL="SELECT * FROM raad WHERE uge="&cint(DatePart("ww",now(),vbMonday,vbFirstFourDays))
Set Query = Conn.Execute(SQL)
if not query.eof then
end if
%>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="40%" class="tekst">Uge:<%=Query("uge")%></td>
    <td width="60%" class="tekst"><%=Replace(Query("tekst"),vbcrlf,"<br>" & " ")%></td>
  </tr>

        </table>


Men 1000 tak for hjælpen
Avatar billede nute Nybegynder
02. marts 2004 - 09:02 #36
det var så lidt :o] anytime ...

/nute
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester