Det här är någonting som jag länge har slitet med, men kan inte hitta en bra lösning.
Vad jag vill ha fram är mina ArrNo(text 001 och uppåt)
De ligger i "två serie" under 500 och över 999
Vad jag ville åstadkomma är att få fram, först alla i den undre serien som inte är upptagna, fast plus 20.
Dvs jag kanske har lite "hål" så att det ser ut så här:
49,51,52,55,60
Då ville jag hitta:
50,53,54,56,57,58,59,61,62,63,64 osv
Likadant med den andra "serien" alltså plus 20.
Så här gör jag idag:
SUB makeZeros(ByRef nr)'Denna används för att ge ArrNo inledande nollor
If LEN(nr)=1 Then
nr= "00" & Index
ElseIf LEN(Index)=2 Then
nr= "0" & Index
Else
nr=nr
End If
END SUB
<%
strSQL = "SELECT arrno FROM t_songtitlar ORDER BY CInt(arrno)"
Call MakeRecordSet(rst,strSQL,Connection)
%>
<select CLASS="SKUGGA" Style ="width: 130" SIZE="1" NAME="arrno">
<option></option>
<%
Dim fldArrNo
Dim Index
Dim LastNumber
If Not rst.EOF Then
Set fldArrNo = rst("ArrNo")
LastNumber = CLng(fldArrNo.Value) - 1
Do Until rst.EOF
Number = CLng(fldArrNo.Value) - 1
For Index = LastNumber To Number
CALL makeZeros(Index)
if Index > 000 then
%>
<option value="<% = Index %>"><% = Index %></option>
<%
end if
Next
LastNumber = Number + 2
Rst.MoveNext
Loop
End If
dim i
for i = LastNumber to LastNumber + 20
CALL makeZeros(i)
%>
<option value="<% = i %>"><% = i %></option>
<% next %>
</select>
Vad som är fel här, är att den skriver ut ALLA siffrorna mellan den
lägre serien och den högre, och det är just det som stör mig.
Går det att fixa detta?
Jag :q
Du vill alltså visa poster som inte finns, helt enkelt?
Det finns sql som fixar det automatiskt.
Testa att i Access använda deras guider för Frågor; där finns den fördefinierad.
Hoppas det är en ledtråd.
Angånde befintlig kod:
Jag tolkar att den visar alla ArrNo, även de som redan är upptagna?
Då borde inte frågan
strSQL = "SELECT arrno FROM t_songtitlar ORDER BY CInt(arrno)"
fungera ordentligt?
Hej Johnny.
Problemet är att datatypen är text, så jag tror att bara det faller
på att det inte går att göra som du föreslog.
Det script som jag har fungerar bra, vad jag inte tycker om är att
den plockar fram alla Arrno fram till 1020
Antag så här
I den första serien så är högsta ArrNo 64.
I den andra serien så är högsta ArrNo 1009
Då hadde jag velat att den plockade först fram alla "hål"
dvs de ArrNo som inte är upptagna plus 65,66,67, osv till
ArrNo 84.
Dessutom lägga till ArrNo 1010,1011 osv till Arrno 1030.
Det här tror jag inte går att göra med en SQL utan man får
nog gnuga geniknölarna lite.
267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e