Hej, Ett enkelt men effektivt sätt är att faktiskt skapa ett fält som heter sortorder och där skriver du just 1,4,72 osv på dessa. När du sedan tar ut datat skriver du "order by sortorder, namn, osv, osv..." om jag har förstått dig helt rätt så borde följande fungera för dig: uppdatera utan RecordSet
jag har en sträng med alla id-nummer för posterna i en databas. De ligger i en viss ordning och jag vill med hjälp av det skriva till en kolumn vilken ordningen de olika posterna har. Går det att göra direkt i SQL-frågan för att slippa RecordSet?
strängen ser ut: SQL_idnummer = "1, 4, 72, 36, 3"
jag vill alltså sätta kolumnen "sortering" för posten med id-nummer 1 till 1 och posten med id-nummer 4 till 2 osv. Sv: uppdatera utan RecordSet
Sv: uppdatera utan RecordSet
först, splitta upp din sträng så att du får en array (arrSortOrder). Loopa sedan igenom denna:
for i = 0 to ubound(arrSortOrder)
'Sen skjuter du helt enkelt av ADODB.Connection-objektet som du använt tidigare för att kolla dig mot databasen:
oDB.Execute("update myTable set SortOrder = " & clng(i + 1) & " WHERE ID=" & arrSortOrder(i))
next
Clng(i+1) är för att sortnummerna ska vara från 1 - 5 istället för 0-4 (så som du beskrev att du ville ha det..)
B