---
title: "Mattekod funkar inte som den ska"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/129719-mattekod-funkar-inte-som-den-ska"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "His Divine Shadow"
published: "2005-06-09T09:25:03.000Z"
updated: "2005-06-09T10:24:32.000Z"
replies: 7
views: 332
page: 1
pages: 1
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/asp/129719-mattekod-funkar-inte-som-den-ska"
---

# Mattekod funkar inte som den ska

## #1 — His Divine Shadow, 2005-06-09T09:25Z

Den här koden är en del av ett system som är till för att företagskunder ska kunna kan skapa egna kunder, denna kod tar företagskundens kund nr. t.ex. 585 och väljer ut det största numret som börjar med 585\*, om inget finns blir det 5851, finns det blir det 5851+1 alltså 5852 osv., detta funkar tills man kommer till 5859, då blir det 5860, det borde istället bli 58510 (och sen 58511 osv.).

Men hur gör jag?

```
SQL= "SELECT MAX(cint(Kundnr)) FROM Kund Where KundNr LIKE '"& session("user") &"[0-9]%'"
set rs = Conn.Execute(sql)

If RS.EOF OR IsNull(RS(0)) Then
kun2 = kundnr2 & "1"
Else
kun2 = Cint(rs(0)) + 1
kun2 = kun2
End if
```

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

## #2 — Glitter, 2005-06-09T09:41Z

Du får lägga ihop dem som strängar istället för som integer

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

## #3 — His Divine Shadow, 2005-06-09T09:45Z

Jag försökte det med denna kod, då får jag inte rätt heller:

```
SQL= "SELECT MAX(Kundnr) FROM Kund Where KundNr LIKE '"& session("user") &"[0-10]%'"
set rs = Conn.Execute(sql)

If RS.EOF OR IsNull(RS(0)) Then
kun2 = kundnr2 & "1"
Else
kun2 = rs(0) + 1
kun2 = kun2
End if 
rs.Close
```

Har ett test konto där kundnummret är 584 och har tre kunder, 5841, 5842 och 5843, med denna kod så blir det nya numret 5842 när det borde bli 5844

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

## #4 — @nders, 2005-06-09T09:55Z

1) Du kan inte kolla EOF och använda ett fältvärde i samma IF-sats.
2) vad hade du tänkt att **kun2 = kun2** skulle göra för nytta?

Kanske något sånt här kan funka, men jag är inte riktigt säker. Det blev några parenteser. ;)

```
SQL= "SELECT MAX(cint(Kundnr)) FROM Kund Where KundNr LIKE '"& session("user") &"[0-9]%'"
set rs = Conn.Execute(sql)

If RS.EOF Then
	kun2 = kundnr2 & "1"
Else
	If IsNull(RS(0)) then 
		kun2 = kundnr2 & "1"
	else
		kun2 = Session("user") & Cstr(Clng(right(rs(0), len(rs(0))-len(session("user"))))+1)
	end if
End if
```

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

## #5 — Glitter, 2005-06-09T10:00Z

hur vet du om det är en kund till företagskunden eller om det är en företagskund? om du skall skall dela upp det i strängar så måste du ju veta vad som är vad för att det skall bli riktigt...

om det är första tre siffrorna som företagskund så blir det typ

```
SQL = "SELECT kundnr FROM kund WHERE KundNr LIKE '"& session("user") &"%' ORDER BY kundnr DESC"
set rs = Conn.Execute(sql)

If not RS.EOF Then
if len(rs("kundnr")) > 3 then
 kun2 = left(rs("kundnr"), 3) & cint(right(rs("kundnr"), len(rs("kundnr"))-3)) +1
end if
```

typ så vell...
hadde lite brått

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

## #6 — His Divine Shadow, 2005-06-09T10:03Z

> **@nders skrev:**
>
> 1) Du kan inte kolla EOF och använda ett fältvärde i samma IF-sats.
> 2) vad hade du tänkt att **kun2 = kun2** skulle göra för nytta?

Ingen aning, den här koden är omgjord från en annan kod som gjordes av han som arbetade här före mig, ides bara inte röra det :p

Hursomhelst, koden verkar funka fastän nu när jag gjort en kund som är 58410 så får jag overflow när jag tänkte göra 58411?

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

## #7 — @nders, 2005-06-09T10:07Z

Integer har en gräns på 32k, använd long istället.

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

## #8 — His Divine Shadow, 2005-06-09T10:24Z

Yes, tackar! :bire

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/129719-mattekod-funkar-inte-som-den-ska
