---
title: "Senaste inloggningarna (MySQL till Access)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/89136-senaste-inloggningarna-mysql-till-access"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "pRob3"
published: "2003-10-21T23:41:25.000Z"
updated: "2003-10-22T12:53:20.000Z"
replies: 28
views: 698
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/89136-senaste-inloggningarna-mysql-till-access"
---

# Senaste inloggningarna (MySQL till Access)

_Sida 1 av 2._

## #1 — pRob3, 2003-10-21T23:41Z

Hur gör man för att denna kod ska funka till en Access databas (funkar fint till MySQL databas)? Alla Sessions o så finns.

```
strSQL = "select count( * ) from  inloggningar where orgnr = '" & Session("orgnr") & "'"
intLogs = Connect.execute( strSQL )( 0 )
if intLogs <= 10 then
  strSQL = "insert into inloggningar(orgnr, datum, status, ip) values('" & Session("orgnr") & "','"& NOW() &"','0','"& Request.ServerVariables("REMOTE_ADDR") &"')"
else
  strSQL = "select orgnr from inloggningar where orgnr ='" & Session("orgnr") & "' order by datum LIMIT 1"
  set Rs33 = Connect.execute( strSQL )
  strSQL  = "update inloggningar set datum = '"& NOW() &"' where orgnr = " & rs33( "orgnr" )
  Rs33.Close : Set Rs33=Nothing
end if
Connect.execute( strSQL )
```

Får det här fel messet:
Microsoft JET Database Engine error '80040e57' 

Overflow 

/loggain_do.asp, line 56 

Rad 56:
Connect.execute( strSQL )

Permalänk: https://www.webforum.nu/p/89136

## #2 — SPiN, 2003-10-22T00:06Z

```
select orgnr from inloggningar where orgnr ='" & Session("orgnr") & "' order by datum LIMIT 1
```

Ändra till:

```
SELECT TOP 1 orgnr FROM inloggningar WHERE ornnr = '" & Session( "orgnr" ) & "' ORDER BY datum"
```

Hela koden skulle jag skriva så  här:

```
strSQL = "select count( * ) from  inloggningar where orgnr = '" & Session("orgnr") & "'"
intLogs = Connect.execute( strSQL )( 0 )
if intLogs <= 10 then
  strSQL = "insert into inloggningar(orgnr, datum, status, ip) values('" & Session("orgnr") & "','"& NOW() &"','0','"& Request.ServerVariables("REMOTE_ADDR") &"')"
else
  strSQL = "UPDATE inloggningar SET datum = '" & NOW & "' WHERE orgnr IN (SELECT TOP 1 orgnr FROM inloggningar WHERE orgnr = '" & Session( "orgnr" ) & "' ORDER BY datum ASC)"
end if
Connect.execute( strSQL )
```

Då slipper du skapa ett extra Recordset. Jag tror att det ska fungera. :)

Permalänk: https://www.webforum.nu/p/1194457

## #3 — pRob3, 2003-10-22T00:18Z

När jag prövar din kod så får jag detta fel mess:
Microsoft JET Database Engine error '80040e07' 

Data type mismatch in criteria expression. 

/loggain_do.asp, line 54

Permalänk: https://www.webforum.nu/p/1194458

## #4 — @nders, 2003-10-22T04:27Z

Använder man Access bör man omsluta datumvärden med brädgårdar.

Annars; vad är det för datatyp på de olika fälten? Text-/-strängtyper skall omslutas med apostrofer, taltyper skall inte omslutas med någon typ av literaler.

Mvh

Permalänk: https://www.webforum.nu/p/1194467

## #5 — pRob3, 2003-10-22T10:24Z

orgnr är av typen tal och datum är datum/tid.

Permalänk: https://www.webforum.nu/p/1194605

## #6 — @nders, 2003-10-22T10:32Z

Oki, bort med apostroferna runt värdet för orgnr då, och in med brädgårdar istället för apostrofer runt datumvärdet.

I vissa versioner av Access (2000+ ?) går det dock bra att använda apostrofer.

Mvh

Permalänk: https://www.webforum.nu/p/1194607

## #7 — pRob3, 2003-10-22T10:37Z

Förstår inte vad du menar

Permalänk: https://www.webforum.nu/p/1194609

## #8 — SPiN, 2003-10-22T10:39Z

```
strSQL = "select count( * ) from  inloggningar where orgnr = " & Session("orgnr")
intLogs = Connect.execute( strSQL )( 0 )
if intLogs <= 10 then
  strSQL = "insert into inloggningar(orgnr, datum, status, ip) values(" & Session("orgnr") & ",#"& NOW() &"#,'0','"& Request.ServerVariables("REMOTE_ADDR") &"')"
else
  strSQL = "UPDATE inloggningar SET datum = #" & NOW & "# WHERE orgnr IN (SELECT TOP 1 orgnr FROM inloggningar WHERE orgnr = " & Session( "orgnr" ) & " ORDER BY datum ASC)"
end if
Connect.execute( strSQL )
```

Så, menar han. Notera brädgårdarna ( # ) runt datumvärdet och att jag inte använder enkelfnuttar runt tal-värdet för 'orgnr'.

Permalänk: https://www.webforum.nu/p/1194610

## #9 — @nders, 2003-10-22T10:39Z

I frågorna i SPiNs inlägg har han lagt apostrofer runt organisationsnummervärdet. Ta bort dem.

Permalänk: https://www.webforum.nu/p/1194611

## #10 — SteveP, 2003-10-22T10:41Z

Så här nånting..

```
strSQL = "select count( * ) from  inloggningar where orgnr = " & Session("orgnr")

intLogs = Connect.execute( strSQL )( 0 )
if intLogs <= 10 then
  strSQL = "insert into inloggningar(orgnr, datum, status, ip) values(" & Session("orgnr") & ",#"& NOW() &"#,'0','"& Request.ServerVariables("REMOTE_ADDR") &"')"
else
  strSQL = "UPDATE inloggningar SET datum = #" & NOW & "# WHERE orgnr IN (SELECT TOP 1 orgnr FROM inloggningar WHERE orgnr = " & Session( "orgnr" ) & " ORDER BY datum ASC)"
end if
Connect.execute( strSQL )
```

Permalänk: https://www.webforum.nu/p/1194613

## #11 — Engine^, 2003-10-22T10:41Z

Från och med Access 2002 fungerar det bra med apostrofer runt Datumtyper.

Din INSERT blir såhär

```
strSQL = "INSERT INTO inloggningar(orgnr, datum, status, ip) VALUES(" & Session("orgnr") & ", #" & Now & "#, '0', '" & _
         Request.ServerVariables("REMOTE_ADDR") &"')"
```

Och din UPDATE blir såhär

```
strSQL = "UPDATE inloggningar SET datum = #" & Now & "# WHERE orgnr IN (SELECT TOP 1 orgnr FROM inloggningar WHERE orgnr = " & _
         Session( "orgnr" ) & " ORDER BY datum)"
```

Permalänk: https://www.webforum.nu/p/1194615

## #12 — pRob3, 2003-10-22T10:41Z

får fortfarande detta fel mess:
Microsoft JET Database Engine error '80040e57' 

Overflow 

/loggain_do.asp, line 54

Permalänk: https://www.webforum.nu/p/1194616

## #13 — clarkbones, 2003-10-22T10:43Z

orgnr skall vara typen text. Det finns ingen vits med att ha den som tal

Permalänk: https://www.webforum.nu/p/1194618

## #14 — SPiN, 2003-10-22T10:44Z

Hur stor Integer är Session( "orgnr" )? Vilken Connect.Execute() får du fel på?

Permalänk: https://www.webforum.nu/p/1194619

## #15 — pRob3, 2003-10-22T10:44Z

Långt heltal

Permalänk: https://www.webforum.nu/p/1194621

## #16 — Engine^, 2003-10-22T10:45Z

> **SPiN skrev:**
>
> Hur stor Integer har värdet Session( "orgnr" )?

En bättre fråga kan vara: Hur stort värde kan Session("orgnr") anta?

Permalänk: https://www.webforum.nu/p/1194622

## #17 — pRob3, 2003-10-22T10:47Z

mellan 8 och 13 siffror

Permalänk: https://www.webforum.nu/p/1194626

## #18 — SteveP, 2003-10-22T10:47Z

Om du använder dig av

```
clng(Session( "orgnr" ))
```

Permalänk: https://www.webforum.nu/p/1194627

## #19 — @nders, 2003-10-22T10:50Z

Organisationsnummer är så stora så de är för stora för datatypen heltal, så det måste nog lagras som text som nämnts ovan. Att i asp-kod eller dylikt omvandla till long enligt StevePs förslag har ingen betydelse. Det är ändå en sträng som skickas som SQL-fråga.

Mvh

Permalänk: https://www.webforum.nu/p/1194631

## #20 — SteveP, 2003-10-22T10:54Z

Det tänkte jag inte på.
Kanske bättre att köra text som datatyp som clarkbones föreslog och slänga in apostroferna i queryn igen?

Permalänk: https://www.webforum.nu/p/1194634

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/89136-senaste-inloggningarna-mysql-till-access  
Nästa sida: https://www.webforum.nu/amne/databaser-sql/89136-senaste-inloggningarna-mysql-till-access/page2.md
