---
title: "Funktion för kontroll av största nr i databas?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/49544-funktion-för-kontroll-av-största-nr-i-databas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Dflex"
published: "2002-08-05T11:27:21.000Z"
updated: "2002-08-08T12:52:35.000Z"
replies: 10
views: 358
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/49544-funktion-för-kontroll-av-största-nr-i-databas"
---

# Funktion för kontroll av största nr i databas?

## #1 — Dflex, 2002-08-05T11:27Z

OBS!!! DETTA KAN TYCKAS BESKRIVAS RÖRIGT MEN DET SKA VISST INTE VARA SÅ SVÅRT! 

Hej! 

Är det någon som vet hur man gör för att kolla en del av ett värde i ett fält i en databas. 

Det jag menar med en del av ett värde är att första siffran och sista bokstaven ELLER sista siffran, kan variera, inte ska ingå vid kollen. Funktionen ska då kolla efter det största värdet. 

Värdet som plockas ut ska sedan ökas med +1 och slutligen skriva ut i ett formulärfält? 

Ex) 

Fullständigt värde i databas: 134523A (första siffran(1) och sista bokstaven ELLER siffran ska plockas bort så att endast funktionen jämför "34523". "A" kan även ibland vara en siffra! 

Funktionen ser vilket som är det största talet och lägger till +1 så att det blir 34524 istället och skriver slutligen ut det i ett fält i ett formulär. 

OBS!!! DETTA KAN TYCKAS BESKRIVAS RÖRIGT MEN DET SKA VISST INTE VARA SÅ SVÅRT! 

Mvh 

Dflex

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

## #2 — LarsG, 2002-08-05T12:01Z

```
q = "select max(cdbl(mid(column,2,len(column)-1))) + 1 from t"
set rs = connect.execute(q)
mv = rs(0)
```

Borde fungera bra i Access. (Dock inte i någon annan DBMS.)

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

## #3 — Dflex, 2002-08-08T06:33Z

Hej!

Vad tror du om denna placeringen av koden?:

\<%
   id=request.querystring("id")
   q = "select max(tbl_ritningar(mid(ritningsnr,2,len(ritningsnr)-1))) + 1 from t"
  
   set rs=Server.CreateObject("adodb.Recordset")
   set rs2=Server.CreateObject("adodb.Recordset")

   SET Conn= Server.CreateObject("ADODB.Connection")
   Conn.Open("DRIVER={Microsoft Access Driver (\*.mdb)}; DBQ=" & Server.MapPath(ritregister))
   sql="SELECT \* FROM tbl_Kunder ORDER BY kund"
   sql2="SELECT \* FROM tbl_Konstruktörer ORDER BY efternamn"
   rs.open sql, Conn
   rs2.open sql2, Conn
  
%\>

\<%
\<input type="text" name="ritningsnummer" size="4"    maxlength="5" Value="\<%=RS("q")%\>"\>     
    
set rs = connect.execute(q)
mv = rs(0)
\<%

och den övriga:

\<%
\<input type="text" name="ritningsnummer" size="4" maxlength="5" Value="q"\>     
    
set rs = connect.execute(q)
mv = rs(0)
\<%

Jag testade men då blir det följande felmeddelande:

Microsoft VBScript compilation error '800a0400' 

Expected statement 

/uddcomb/admin/ny.asp, line 50 

\<input type="text" name="ritningsnummer" size="4" 
^
maxlength="5" Value="q"\>

Tack för hjälpen!

Hälsningar

Dflex

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

## #4 — Broskan, 2002-08-08T07:06Z

Flytta htmlkoden.

Du får flytta ut din input tagg utanför asp-koden.

Som du har det nu.

```
<% 
<input type="text" name="ritningsnummer" size="4" maxlength="5" Value="q"> 

set rs = connect.execute(q) 
mv = rs(0) 
<%
```

Som det skall vara.

```

<input type="text" name="ritningsnummer" size="4" maxlength="5" Value="q"> 
<%
set rs = connect.execute(q) 
mv = rs(0) 
<%
```

//Broskan

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

## #5 — Dflex, 2002-08-08T07:21Z

Ok...nu blir det:

Microsoft VBScript runtime error '800a01a8' 

Object required: '' 

/uddcomb/admin/ny.asp, line 51 

Line 51 är: set rs = connect.execute(q)

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

## #6 — doggelito, 2002-08-08T07:55Z

Du får nog döpa den till nått annat än rs eftersom du redan skapat ett recordset med det namnet.
Sen ska det nog vara Conn istället för connect.
set rs3 = Conn.execute(q) 
mv = rs3(0)

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

## #7 — Dflex, 2002-08-08T09:52Z

ok...nu blir det istället:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Invalid procedure call 

/uddcomb/admin/ny.asp, line 51 

Line 51 är: set rs3=conn.execute(q)

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

## #8 — doggelito, 2002-08-08T10:46Z

Selectsatsen, det ska nog vara som LarsG skrev tidigare:
"select max(cdbl(mid(column,2,len(column)-1))) + 1 from tbl_ritningar"

/red: men du ska nog ändra 'column' till din kolumn

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

## #9 — Dflex, 2002-08-08T11:23Z

Jo, men min selectsats ser ut så som du beskriver att den ska se ut! Det måste vara ngt annat som är fel, line 51 kanske? Mitt value på input type="text" är value=q

Line 51 är: set rs3=conn.execute(q)

//Dflex

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

## #10 — doggelito, 2002-08-08T11:35Z

Jag förstår inte riktigt koden ovan:

```
<input type="text" name="ritningsnummer" size="4" maxlength="5" Value="<%=RS("q")%>"> 
<% 
set rs = connect.execute(q) 
mv = rs(0) 
%> 

och den övriga: 

<input type="text" name="ritningsnummer" size="4" maxlength="5" Value="q"> 
<% 
set rs = connect.execute(q) 
mv = rs(0) 
%>
```

Borde det inte vara ungefär

```

<% 
set rs3 = conn.execute(q) 
mv = rs3(0) 
%> 
<input type="text" name="ritningsnummer" size="4" maxlength="5" Value="<%=mv%>">
```

eller jag helt fel ute då?

om du fortfarande får: Invalid procedure call 
så lär nog LarsG ta över!

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

## #11 — Dflex, 2002-08-08T12:52Z

Det funkade inte. Det blev Invalid procedure call

Men tack för hjälpen iallafall!

Hälsning 

Dflex

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/49544-funktion-för-kontroll-av-största-nr-i-databas
