Avatar billede joni@vordb Nybegynder
01. november 2000 - 09:58 Der er 20 kommentarer og
2 løsninger

Mystik ved udskrivning fra database - HASTER

Prøver lige igen.
I en database lægger jeg nogle poster der indeholder bl.a. et datofelt på denne måde.
<96 dato=request(\"dato\")
dato=cdate(dato)
96>
opretter forbindelse til basen og gemmerposten med
<96
rs.addnew
Rs(\"dato\") = Dato
rs.update
96>
Så langt så godt men når jeg så vil hente posten til udskrivning er det at det går galt. Det er nemlig ikke alle poster den udskriver og der er tilsyneladende ikke nogen logik i hvilke der bliver udskrevet og hvilke der ikke gør.
Jeg udvælger poster til udskrift således:
<96
dag=request(\"dag\")
dag=cdate(dag)
Sql = \"SELECT * FROM 1 Where (maskine<=3 AND dato=#\" & dag & \"#)\"
96>
Er der nogen der kan forklarer mig hvorfor den ikke udskriver alle poster der opfylder kretieret og som kan fortælle mig hvordan jeg løser dette problem.

se også http://www.eksperten.dk/spm/30600

//john
Avatar billede frank_jensen Nybegynder
01. november 2000 - 10:02 #1
Hvordan lyder SQL sætningen, der sendes til DB (Kan du lave en udskrift af denne), samt hvad er datoformatet i databasen??
Avatar billede keysersoze Guru
01. november 2000 - 10:04 #2
måske nogle problemer da du sætter dag = to forskellige ting...
Avatar billede orfeus Nybegynder
01. november 2000 - 10:04 #3
rs.addnew
Rs(\"dato\") = Dato
rs.update
hvis du cut og paster så skal rs og Rs rettes til
Avatar billede kasseper Nybegynder
01. november 2000 - 10:05 #4
Har du prøvet at udskrive din SQL streng før du executer den, og ser den ud som du forventer, giv evt. et eksempel...
Avatar billede tdaugaard Nybegynder
01. november 2000 - 10:15 #5
Nu sidder jeg lige og kigger på det igen...

I det andet ? skrev du til sidste at jeg skulle prøve med 08-12-00 for den fandtes i DB\'en og jeg tror du har dummet dig gevaldigt!!

Jeg taster 12-08-00 ind istedet (man skal prøvet ALT!) og bingo! Den UDSKRIVER 08-12-00.

\"SELECT * FROM 1 where (maskine=1 AND dato=#12-08-00#) Order by tid\"
08-12-00 10 k k k 4760 Vordingborg 01-01-80

Se, for mig virker det som om du ikke helt har fat i om det er mm/dd/yy eller dd/mm/yy.

Til jer andre som vil teste, gå ind i det andet ? der er en url til hvor i kan teste det system det drejer sig om.
Avatar billede enlize Nybegynder
01. november 2000 - 10:16 #6
Prøv bare for sjov, at sætte din datotype i din tabel til teksttype - Udskriv dine poster og fortæl os hvad der sker.

Jeg har haft ligende problem, men jeg kan  selvfølgelig ikke helt huske hvordan jeg løste det :)
Avatar billede joni@vordb Nybegynder
01. november 2000 - 10:20 #7
kasseper>>Jeg har prøvet at udskrive min SQL streng og den er som forventet.
eks.:
SELECT * FROM 1 where (maskine=1 AND dato=#01-11-00#) Order by tid
orfeus>>VBScribt er ligeglad med store og små bogstaver.
Keysersoze>>Varianten Dag sættes ikke = 2 forskellige ting. først lægges en værdi i, dernæst konveteres varianten til en anden type, men værdien ændre sig ikke.
frank jensen>>Datoformatet i databasen er kortdatoformat dd-mm-åå.

Det underlige er at den godt vil vise poster fra f.eks. den 20-11-00 men ikke fra 01-11-00 selv om jeg ved at der findes poster på den 1/11.

//john
Avatar billede kasseper Nybegynder
01. november 2000 - 10:21 #8
OK er det på samme maskine du har siden og databasen, hvis ikke skal du være MEGET opmærksom på hvordan dine regionale settings er sat.
Datoer kan vendes og krydses totalt vilkårligt hvis dine settings ikke er de samme.
Se evt. spg.
  http://www.eksperten.dk/spm/30582

Kasseper
Avatar billede tdaugaard Nybegynder
01. november 2000 - 10:21 #9
Vent lidt ... som jeg skrev så er der et problem med datoformatet, men det må være at det format du har i datatbasen ikke er det samme som bliver brugt ved udskrift og derfor er der faktisk INGEN der ved (næsten..) hvad der er hvad .. om det er mm/dd/yy eller dd/mm/yy.
Avatar billede kasseper Nybegynder
01. november 2000 - 10:23 #10
Præcis tdaugaard. To forskellige formater.....
Avatar billede tdaugaard Nybegynder
01. november 2000 - 10:24 #11
Så derfor skal han nok lige kigge en tur på det ? du henviser til..
Avatar billede kasseper Nybegynder
01. november 2000 - 10:25 #12
Det kan være som tdaugaard siger at dit datoformat i din base er sat til dd/mm/yy og din maskines datoformat er sat til mm/dd/yy, det kan evt. rettes i regionale settings i dit kontrol panel
Avatar billede joni@vordb Nybegynder
01. november 2000 - 10:25 #13
tdaugaard>>Det kunne sørme se ud som om du har ret. men burde den så egentlig ikke melde datofejl eller sådan noget ligende når man f.eks. taster 20-11-00 ind ?
Må hellere kigge nærmere på de formater :-)

//john
Avatar billede kasseper Nybegynder
01. november 2000 - 10:27 #14
Nej den melder ikke fejl, den bytter bare rundt, det er så sata.. latterligt....
Avatar billede tdaugaard Nybegynder
01. november 2000 - 10:27 #15
Jeg kunne heller ikke fatte hvor faen der var en fejl i det andet ? ...

Det ville nok være en god ide lige og checke dem, ja ;-)
Avatar billede joni@vordb Nybegynder
01. november 2000 - 10:38 #16
Jeg skal lige forstå det her helt rigtigt.
det er webserveren ,ikke min lokale maskine, og databasen der skal have samme datoformat, korrekt?

Jeg har ikke mulighed for at ændre på webserverens settings, så jeg må altså rette i basen, og det er også ok, men det dato format som brugeren taster ind skal stadig være dd-mm-åå, hvordan vender jeg det til mm-dd-åå på vej fra browseren til databasen? hmm, lidt snørklet formuleret men håber i forstår alligevel.

//john
Avatar billede kasseper Nybegynder
01. november 2000 - 10:45 #17
ikke så svært.
<%
dato=request(\"dato\")
dato = month(dato) & \"-\" & day(dato) & \"-\" & year(dato)
dato=cdate(dato)
%>


Avatar billede tdaugaard Nybegynder
01. november 2000 - 10:45 #18
Tjaa... hvis du bare skal have det fra dd-mm-åå til mm-dd-åå så kan man vel lave en lille converter.

Function ConvDate(strDate)
  ConvDate = Mid(strDate, 3, 2) & Left(strDate, 2) & Right(strDate, Len(strDate) - InStrRev(strDate, \"-\"))
End Function

ConvDate(\"10-01-00\") vil give \"01-10-00\"
ConvDate(\"10-01-2000\") vil give \"01-10-2000\"
Avatar billede tdaugaard Nybegynder
01. november 2000 - 10:46 #19
*lol* der er ikke nogle der må tro jeg sover i dag .. PJAAAAAT!
Avatar billede kasseper Nybegynder
01. november 2000 - 10:46 #20
eller måske :
<%
dato=request(\"dato\")
dato = cdate(dato)
dato = month(dato) & \"-\" & day(dato) & \"-\" & year(dato)
dato=cdate(dato)
%>



Avatar billede joni@vordb Nybegynder
01. november 2000 - 11:08 #21
Tak for hjælpen.
tdaugaard, du får lidt flere point end kasseper for at have bruget tid på det første ? også.


//john
Avatar billede tdaugaard Nybegynder
01. november 2000 - 11:37 #22
Helt i orden (hva\' sku\' jeg ellers sige *s*) :-)
Så fik du endelig løst det..
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