Avatar billede webbe Nybegynder
19. juli 2001 - 09:55 Der er 28 kommentarer og
1 løsning

Formatering af textfelter

Hejsa

Jeg vil gerne høre om man kan formatere et text-felt til et bestemt dato-format!

Textfeltet indeholder fx. texten 12-06-2001, som jo er en dato, men i et textfelt!!

Kan jeg på nogen måde konvertere den text så det bliver opfattet som dato?

Jeg skal bruge det til et kriterie der gør, at en nyhed/post kun ligger på forsiden \"Aktuelle\" i fx. 14 dage!

Jeg har pt. følgende kode som virker fint på en Access2000 DB, men ikke på den Oracle DB som jeg bruger til dette projekt:

rs.Open \"SELECT * FROM CD_ny,Biografi WHERE Release > Date()-14 ORDER BY Id DESC\", Connect, 1, 3

men det giver følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e21\'

ODBC driver does not support the requested properties.

/new/Scanbox_com_ny/scanbox/sider/aktu_albums.asp, line 14

Linie 14 er den ovenfor skrevne \"rs.Open....\"

Håber der er nogen der kan hjælpe!
Flere point er i vente hvis der kommer et hurtigt og godt svar!
Avatar billede nordclc Nybegynder
19. juli 2001 - 10:08 #1
to_date(textfelt,\'format\')

//Claus
Avatar billede nordclc Nybegynder
19. juli 2001 - 10:09 #2
F.eks. to_date(\'12-06-2001\',\'dd-mm-yyyy\')
Avatar billede nordclc Nybegynder
19. juli 2001 - 10:11 #3
Er det et ASP dokument du er i gang med, eller hvad er det noget?
Avatar billede webbe Nybegynder
19. juli 2001 - 10:27 #4
Ja - det er et ASP-dokument!

De poster der er mere end 14 dage gamle skal ikke vises under aktuelle!

Det vil altså sige at følgende vil være korrekt?:

to_date(rs(\"Release\"),\'dd-mm-yyyy\')
Avatar billede nordclc Nybegynder
19. juli 2001 - 10:30 #5
Nej, jeg er lidt i tvivl om hvorvidt to_date virker - men prøv:

\"to_date(\" & rs(\"Release\") & \",\'dd-mm-yyyy\')\"

//Claus

Avatar billede webbe Nybegynder
19. juli 2001 - 10:33 #6
Nope - får følgende fejl:

Microsoft VBScript compilation error \'800a03ee\'

Expected \')\'

/new/Scanbox_com_ny/scanbox/sider/aktu_albums.asp, line 16

to_date = (\"&rs(\"Release\")&\",\'dd-mm-yyyy\')
-----------------^
Avatar billede nordclc Nybegynder
19. juli 2001 - 10:40 #7
Hovsa! Godmorgen\" Snork!

1. Du selecter fra 2 tabeller uden at have reference imellem dem? Det kan man godt men er det også det du vil?

2. Er release oprettet som tekstfelt i basen?

3. Vi skal slet ikke bruge recordsættet!!!!

//Claus
Avatar billede webbe Nybegynder
19. juli 2001 - 10:46 #8
1: Okay - den med 2 tabeller uden reference er nu rettet, så der kun selectes fra CD_ny

2: Release er oprettet som tekstfelt i DB, ja!

3: Det er jo indholdet i tekstfeltet der skal formateres!?
Avatar billede webbe Nybegynder
19. juli 2001 - 10:48 #9
Skal iøvrigt bruge info fra begge tabeller! ;o)
Avatar billede webbe Nybegynder
19. juli 2001 - 10:48 #10
Min sql ser nu sådan ud:

rs.Open \"SELECT * FROM CD_ny,Biografi WHERE (CD_ny.Art_id=Biografi.Art_id) AND Release > Date()-14 ORDER BY Id DESC\", Connect, 1, 3
Avatar billede nordclc Nybegynder
19. juli 2001 - 10:52 #11
Okay så prøv:

rs.Open \"SELECT * FROM CD_ny,Biografi WHERE (CD_ny.Art_id=Biografi.Art_id) AND Release > (sysdate-14) ORDER BY Id DESC\", Connect, 1, 3

Avatar billede webbe Nybegynder
19. juli 2001 - 10:59 #12
Har nu lavet følgende:

rs.Open \"SELECT * FROM CD_ny WHERE Release > (sysdate-60) ORDER BY Id DESC\", Connect, 1, 3

Laver derefter et nyt recordset, som henter de informationer fra Biografi-tabellen som jeg skal bruge.

Men den kan åbenbart ikke finde de tilhørende informationer fra Biografi, selv om der er oprettet informationer i Biografi!
Avatar billede nordclc Nybegynder
19. juli 2001 - 11:02 #13
??? Står der overhovedet noget i det første recordsæt?
Avatar billede webbe Nybegynder
19. juli 2001 - 11:04 #14
Det skulle der gerne - har en post hvor release er 12-06-2001 og det er da ikke mere end 60 dage gammel! ;o)
Avatar billede webbe Nybegynder
19. juli 2001 - 11:07 #15
Hmmm - koden ser ud til at slå vores webserver ihjel nu!
Avatar billede webbe Nybegynder
19. juli 2001 - 11:11 #16
Kan fint kalde informationerne når jeg ikke har min WHERE-clause på, men når jeg smider en where-clause på slår den serveren ihjel!
Avatar billede nordclc Nybegynder
19. juli 2001 - 11:20 #17
Hvor mange records har du i dine tabeller?
Avatar billede webbe Nybegynder
19. juli 2001 - 11:22 #18
Der ligger 1 i tabellen CD_ny og 3 i tabellen Biografi og begge har et felt der hedder Art_id som indeholder en tal-værdi, så man kan se at den aktuelle CD hører til den bestemte biografi!
Avatar billede webbe Nybegynder
19. juli 2001 - 11:23 #19
Har nu følgende som ikke giver fejl, men heller ikke viser noget:

Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * FROM CD_ny WHERE Release > (sysdate-60) ORDER BY Id DESC\", Connect, 1, 3

Set rs_navn = Server.CreateObject(\"ADODB.Recordset\")
rs_navn.Open \"SELECT * FROM Biografi WHERE Art_id=\"&rs(\"Art_id\"), Connect, 1, 3

Her bliver informationerne vist:

<%
                If (rs.bof OR rs.eof OR rs_navn.bof OR rs_navn.eof) Then
                    response.write(\"\")
                Else
                    do until rs.eof
                %>
                        <tr>
                            <td width=\"150\">
                                <font face=\"Arial\" size=\"1\" color=\"#003366\"><%=rs(\"Titel\")%></font>
                            </td>
                            <td width=\"250\">
                                <font face=\"Arial\" size=\"1\" color=\"#003366\"></font>
                            </td>
                            <td width=\"100\">
                                <font face=\"Arial\" size=\"1\" color=\"#003366\"><%=rs(\"Release\")%></font>
                            </td>
                        </tr>
                <%
                    rs.movenext
                    loop
                End if
                %>
Avatar billede nordclc Nybegynder
19. juli 2001 - 11:24 #20
Og feltet ID hvor ligger det?
Avatar billede webbe Nybegynder
19. juli 2001 - 11:25 #21
Det ligger i begge tabeller, men er ikke nødvendigvis det samme, mens ART_ID krydsrefereres og skal være det samme!
Avatar billede nordclc Nybegynder
19. juli 2001 - 11:28 #22
Jeg tænker på \"order by ID\"

Skal du ikke loope når du skal læse fra biografi, for du kan jo ikke være sikker på, kun at modtage een record fra CD_ny?



Avatar billede webbe Nybegynder
19. juli 2001 - 11:31 #23
Feltet ID bruges bare til sortering...ikke andet og skulle ikke have nogen betydning for resten så vidt jeg ved!

Har nu loopet begge recordset, men det ændrer ikke noget!
Avatar billede nordclc Nybegynder
19. juli 2001 - 11:35 #24
Vi prøver at fjerne order by for en tid - bare et forsøg ;o) Samtidig laver vi kun een forespørgsel:

rs.Open \"SELECT * FROM CD_ny,Biografi WHERE (CD_ny.Art_id=Biografi.Art_id) AND Release > (sysdate-60)\", Connect, 1, 3
Avatar billede webbe Nybegynder
19. juli 2001 - 11:42 #25
Nope - det slår serveren ihjel! *G*
Avatar billede nordclc Nybegynder
19. juli 2001 - 11:44 #26
:o( Har ingen anelse om hvad der sker - beklager!!!

Men det kan s.. ikke være sql\'en som slår webserveren ihjel - det nægter jeg at tro.

Vi venter og ser om der kommer et klogt hoved forbi på et tidspunkt ;o)
Avatar billede webbe Nybegynder
19. juli 2001 - 11:46 #27
Oki - men du skal i hvert fald have tak for din indsats! ;o)
Avatar billede nordclc Nybegynder
19. juli 2001 - 11:49 #28
Bare OK
Avatar billede webbe Nybegynder
19. juli 2001 - 13:00 #29
Lukker spørgsmålet i denne kategori og prøver i ASP!
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
Computerworld tilbyder specialiserede kurser i database-management

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