/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
HJÆLP Hvordan indsætter jeg datotid i acce~
Fra : michael


Dato : 18-02-04 13:17

Uha hvor har jeg nu brugt lang tid på dette "simple" problem. Kan nogen
hjælpe med et kort præcis svar uden at henvise til underlige internetsider.
Jeg programmere ASP så vær sød ikke at henvise til Javascript eller andre
sjove ting.

Jeg har en access tabel med navn "user" bl.a. indeholdende en kolonne som
hedder datotid af typen dato-klokkeslet (date-time). Jeg vil gerne opdatere
en række i tabellen og indsætte den aktuelle data-tid = Now(). Det er en
dansk version af access og den danner f.eks. selv værdien "15-01-2003
08:02:22" når man som default bruger Now().

Fra mit ASP program bruger jeg følgende måde til at opdatere datoen i
databasen for en bestemt bruger med userid=3.

strSQL = "UPDATE user SET datotid = XXX WHERE userid = 3;"
myConn.Execute(strSQL)

Jeg har prøvet med følgende XXX som ikke virker:
& Now() &
#18-02-2004 09:34:38#
#18-02-2004#
#18/02/2004#
#2004/02/18#

plus nogle andre sjove ting med DateSerial og TimeSerial samt prøvet med
"Session.LCID = 1030" i toppen af mit asp dokument.

Er der en som helt sikkert ved hvordan man gør. Jeg går ud fra at det er
standard i rigtig mange applikationer at indsætte Now() når man opdatere en
række så vær sød at copy-paste eller angive den helt præcise løsning.

På forhånd mange tak for svar.

Venlig Hilsen
Michael



 
 
Jens Gyldenkærne Cla~ (18-02-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-02-04 13:26

michael skrev:

> Uha hvor har jeg nu brugt lang tid på dette "simple" problem.
> Kan nogen hjælpe med et kort præcis svar uden at henvise til
> underlige internetsider.

Hm - hvem skal afgøre om en netside er "underlig"? - og hvad med
newslinks?


> Jeg har en access tabel med navn "user" bl.a. indeholdende en
> kolonne som hedder datotid af typen dato-klokkeslet
> (date-time). Jeg vil gerne opdatere en række i tabellen og
> indsætte den aktuelle data-tid = Now().

Brug Access' now-funktion - så er problemet løst.

Se forklaring i indlægget her:
<news:Xns9486779044E7Ajcdmfdk@gyrosmod.dtext.news.tele.dk>

(Hvis news-linket ikke virker, så prøv googlelinket herunder:
<http://groups.google.dk/groups?selm=Xns9486779044E7Ajcdmfdk%40gyrosmod.dtext.news.tele.dk
)

I den gamle forklaring er det en indsættelsesforespørgsel, men
princippet er helt det samme ved opdateringer. Der er kort sagt
stor forskel på at skrive:

   strSQL = "UPDATE ... SET datofelt = Now() WHERE ..."

- og så at skrive:

   strSQL = "UPDATE ... SET datofelt = " & Now() & " WHERE ..."

Brug den første.



> strSQL = "UPDATE user SET datotid = XXX WHERE userid = 3;"
> myConn.Execute(strSQL)

Skriv Now() i stedet for XXX - så er du hjemme.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

michael (18-02-2004)
Kommentar
Fra : michael


Dato : 18-02-04 17:22

Ohhhhh yes, nu forstår jeg hvordan access gør det selv. Mange gange tak for
hjælpen, så er min dag ikke helt ødelagt.

Venligst Michael



Jens Gyldenkærne Cla~ (18-02-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-02-04 17:24

michael skrev:

> Ohhhhh yes, nu forstår jeg hvordan access gør det selv. Mange
> gange tak for hjælpen, så er min dag ikke helt ødelagt.

Velbekomme. Hvis du vil gøre lidt til gengæld, må du gerne læse min
signatur.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

michael (19-02-2004)
Kommentar
Fra : michael


Dato : 19-02-04 11:36

Hej Jens,

jeg vil gerne læse din signatur, men hvordan skal jeg gøre ?

Venligst Michael



Jens Gyldenkærne Cla~ (19-02-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 19-02-04 17:23

michael skrev:

> jeg vil gerne læse din signatur, men hvordan skal jeg gøre ?

Signaturen er det der står nederst i mine (og mange andres) indlæg
- efter tegnsekvensen "-- ". Teksten skulle gerne forklare hvad der
skal gøres - hvis du har problemer så læs den artikel der linkes
til. Ellers er du også velkommen til at spørge i gruppen
<news:dk.velkommen>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jesper Stocholm (18-02-2004)
Kommentar
Fra : Jesper Stocholm


Dato : 18-02-04 13:27

"michael" <dsl72661a@post.cybercity.dk> wrote in
news:c0vl3k$2sgf$1@news.cybercity.dk:

> Jeg har en access tabel med navn "user" bl.a. indeholdende en kolonne
> som hedder datotid af typen dato-klokkeslet (date-time). Jeg vil gerne
> opdatere en række i tabellen og indsætte den aktuelle data-tid =
> Now(). Det er en dansk version af access og den danner f.eks. selv
> værdien "15-01-2003 08:02:22" når man som default bruger Now().
>
> Fra mit ASP program bruger jeg følgende måde til at opdatere datoen i
> databasen for en bestemt bruger med userid=3.
>
> strSQL = "UPDATE user SET datotid = XXX WHERE userid = 3;"
> myConn.Execute(strSQL)
>
> Jeg har prøvet med følgende XXX som ikke virker:
> & Now() &
> #18-02-2004 09:34:38#
> #18-02-2004#
> #18/02/2004#
> #2004/02/18#
>
> plus nogle andre sjove ting med DateSerial og TimeSerial samt prøvet
> med "Session.LCID = 1030" i toppen af mit asp dokument.

Hvilken fejl får du? Du bør ALTID medsende den fejl du møder - eller
beskrive forskellen på det, der sker, og det som du forventede ville ske.

Hvis du kigger på [1], så vil du se, at ordet "user" er et reserveret ord
i Access, så det første du bør gøre er at vælge et andet navn til din
tabel - eller alternativt i din sql angive det som [user].

Følgende sql bør virke:

dim tal
tal = 2
sql = "UPDATE mytable SET datefield = Now() WHERE userId = " & tal

[1] http://support.microsoft.com/default.aspx?scid=kb;EN-US;209187

--
Jesper Stocholm http://stocholm.dk

Programmer's code comment:
//It probably makes more sense when you're stoned.

michael (18-02-2004)
Kommentar
Fra : michael


Dato : 18-02-04 17:24

Ha ha nu virker det. Jeg skulle bruge now() som tekst i selve sql strengen
så access regner den ud. Men det virkede nu ikke før jeg lavede det
reserverede ord om som du sagde. 10000 tak for det.

Venligst Michael



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste