04. september 2001 - 16:52Der er
7 kommentarer og 1 løsning
HVA er feil + IF-THEN...
Jeg skal ha en liten spalte på forsiden av min band-site hvor bandets neste konsert skal skrives ut fra en database. Databasen inneholder både eldre og nyere konserter enn den jeg skal ha skrevet ut; - Den jeg vil ha er den som er NÆRMEST dagens dato. I TILLEGG vil jeg ha en IF-THEN setning som skriver \"There are no upcoming concerts...come back soon...\" dersom det ikke er noen konserter som matcher kriteriet \"større eller lik dagens dato\". DETTE er mitt første forsøk, uten IF-THEN-setningen. Jeg får feilmeldingen under, og vil gjerne vite hvordan jeg løser dette OG if-then-setningen:
Microsoft OLE DB Provider for ODBC Drivers error \'80040e07\' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /test.asp, line 15
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
OK. Jeg har endret hele oppsettet, og alt fungerer nå fint. Jeg gjorde det slik: <% dddDate=date() Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"webmaster/allconcerts.mdb\") set rs = conn.execute(\"Select TOP 1 * from concerts where concertdate>= #\" & dddDate & \"# order by concertdate\")
MEN: Den som fikser et IF-THEN statement som skriver følgende melding: \"There are no upcoming concerts...come back soon...\" dersom det ikke er noen konserter som matcher kriteriet \"større eller lik dagens dato\" FÅR POINTSENE...
2-Maz: Som du ser hadde jeg allerede funnet løsningen på problem nr 1 når du svarte. Som du også ser, er det nå problem 2 jeg ønsker svar på, altså IF-THEN-delen. Den som gir meg et hint/ en løsning på dette, får pointsene.
Hej her er lidt som måske kan hjælpe dig. Du må selv indsættet lidt formatering af teksten, mth <center> <b> <i> og font. <body> <% strSQL = \"SELECT * FROM concerts WHERE concertdate>=#\"&datostr&\"# ORDER BY concertdate;\" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then %> Next Consert is: <br> Date : <%=rs(\"concertdate\")%><br> City : <%=rs(\"city\")%><br> Location : <%=rs(\"location\")%><br> Information : <%=rs(\"info\")%><br> <%else%> There are no upcoming concerts...come back soon... <br> <%end if%> </body>
Hvis du tid på konserten kan du benytte dette i stedet for den første SQL sætning: strSQL = \"SELECT * FROM concerts \" strSQL = strSQL & \"WHERE (concertdate=#\"&datostr&\"# AND tid>=#\"×tr&\"#) OR concertdate>#\"&datostr&\"# \" strSQL = strSQL & \"ORDER BY concertdate;\"
Håber det hjælper dig lidt på vej. Jeg har selv brugt det til at finde den næste kamp for et fodboldhold. Så hvis det ikke helt virker så skriv så gør jeg lige lidt mere ud af det. Dette eksemple er klippet sammen på kort tid.
Jeg ved ikke hvordan du har gemt dato og evt. tid i databasen men jeg bruge dette for \"datostr\" og \"timestr\":
Jeg har haft problem med at jeg var nød til at sætte månede før dag i SQL (mm-dd-yyyy) kaldet selv om dato feltet i databasen dd-mm-yyyy. Det skyldes måske jeg benytter en Dansk version af Access??
Eagleeye: Jeg bruker din if-setning, og det var nettopp det jeg var ute etter, så pointsene er dine. Takk for hjelpen! KnB
Synes godt om
Ny brugerNybegynder
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.