Jag har en listruta med olka värde från 1 och uppåt beroende på valen tidigare, finns det något sätt att göra ett recordset eller liknande för att se vilket högsta talet i listrutan är, och visa detta värde i en textruta där man plussar på 1 till det högsta värdet? Tror att lälnken här kan visa den funktion du efterlyser: http://www.techonthenet.com/sql/max.php Nja jag får inte till det.. Du skulle kunna skapa en listruta, sätta radkälla till den tabell.fält som du vill kolla antal i och sedan använda egenskapen listruta.listcount för att få ut antalet rader, om det är antalet som är viktigast. Ja det är det högsta värdet som jag ville öka, men bara av de som finns i listrutan, inte i tabellen som jag fattade det..? Kommer inte värdet från en tabell? eller lägger du manuellt till värden i en lista på ett formulär? Eftersom max()-funktionen inte var det du sökte misstänker jag det senare och här nedan finns en liten kodsnutt som går igenom en listruta som heter listbox, det högsta värdet i listan presenteras i textrutan txtResultat. Klistra in på lämpligt ställe, eller skapa en ny knapp på formuläret för just denna procedur. Kan du inte bara göra en ny fråga som baseras på samma recordset som listrutan, och sen välja att bara visa ett värde därifrån (sortering fallande)? När du har gjort det vet du det högsta värdet och då kan du ju plussa på 1. Att få en enda rad returnerad från en fråga gör man genom att använda TOP Är det inte så att detta returnerar högsta värdet i en kolumn i en tabell? min listruta visar nummer baserat på tidigare val . Helt rätt, det var en förklaring anpassad till föregående inlägg, att hämta ett värde ur ett recordset, eller snarare att skapa ett recordset med bara en rad. Problemet som jag upplever med den loopen är att den låser listboxen, och att man därefter inte kan gå vidare i formuläret, den har alltså markerat högsta värdet och satt focus på detta hela tiden? Loopen går genom hela listan, så egentligen är det sista posten som är markerad, men när den är klar är det bara att sätta fokus på valfri annan kontroll. Jag trasslade en stund med loopen och fick en knapp att köra den så långt helt ok, följdproblemet jag inte förstår är: Undrar om jag har förstått rätt nu. Du har tre rutor som fylls i av användaren, värdena från dessa hamnar i en listruta och i en fjärde textruta. När du sedan kollar vilket högsta värdet i listan är och ska addera 1 blir det fel i fjärde rutan. Plussa värde
Sv: Plussa värde
Sv:Plussa värde
Det bör ju finnas en funktion för att kolla en speciell listruta och räkna antalet poster i denna för att därefter lägga till en ytterligareSv: Plussa värde
Länken i mitt tidigare inlägg visade en funktion som hämtar det högsta värdet ur ett fält i en tabell, trodde det var det högsta värdet du ville öka med ett.Sv:Plussa värde
Sv: Plussa värde
Dim i As Integer
Dim val As Integer
listbox.SetFocus
For i = 0 To listbox.ListCount - 1
listbox.ListIndex = i
If listbox.Value > val Then val = listbox.Value
Next
txtResultat.Value = valSv: Plussa värde
/ PerSv: Plussa värde
Ex: SELECT TOP 1 tblNamn.Fält FROM tblNamn ORDER BY tblNamn.Fält DESC;
Likväl om man vill visa en topp 10 lista
Ex: SELECT TOP 10 tblNamn.Fält FROM tblNamn ORDER BY tblNamn.Fält DESC;
Värt att notera är också "ORDER BY tblNamn.Fält DESC" satt just till DESC för att få högsta värdet överst och inte standardsorteringen som börjar med det minsta värdet.
Sv:Plussa värde
Sv: Plussa värde
Är det som jag tidigare frågat att värdena fylls i listrutan vartefter användaren klickar sig fram på formuläret kan du använda loopen lite högre upp i tråden för att hämta ut det högsta värdet som finns.Sv:Plussa värde
Sv: Plussa värde
<code>kontrollNamn.SetFocus</code>Sv:Plussa värde
Jag presenterar högsta värdet i en textruta baserat på Val och lägger till 1.
nu har jag ett tal i textrutan.
Problemet är att jag har en textruta som visar valet jag gjort i tidigare rutor genom att lägga dessa efter varandra i textrutan typ txtruta1=2 txtruta2=cd txtruta3=23 detta blir således txtruta4=2cd23
om jag nu lägger in resultatet av Val + 1 i txtruta3 så blir det #fel i txtruta4... Varför tror du?
om jag "manuellt " ändrar värdet i txtruta3 så blir det rätt i txtruta4?
Dim i As Integer
Dim val As Integer
listbox.SetFocus
For i = 0 To listbox.ListCount - 1
listbox.ListIndex = i
If listbox.Value > val Then val = listbox.Value
Next
txtResultat.Value = val + 1Sv: Plussa värde
Blir det rätt värde i tredje rutan? dvs uppdateras den med det nya värdet (högsta+1)?
Hur flyttar du värdena in i textruta fyra? Jag testade lite men lyckades inte få fram något fel, har du någon kontrollkälla för ruta fyra? Är den inte satt kan du använda
<code>=txtruta1.value&txtruta2.value&txtruta3.value</code>
för att den hela tiden uppdateras med innehållet i dom tre övriga textrutorna.