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
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
Du kan inte kolla EOF och använda ett fältvärde i samma IF-sats.
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
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