30. marts 2008 - 19:12Der er
7 kommentarer og 1 løsning
Opdatering ved gennemløb af poster
Jeg skal have lavet en funtion til at opdatere felter udfra følgende kriterier. Funktionen skal gerne løses i en sql sætning.
Der skal laves en løbende opdatering på nogle poster. Altså med 1, 2, 3 osv. Den skal ind og først kigge på "DisciplineID", og starte med alle dem der hedder 1. Dette er hovedkategorien og første kriterie. Herefter skal der kigges på "SquadID". Dette er 2. kriterie. Herefter er der så et felt, som hedder "PreliminaryID" - Det er dette felt det skal opdateres med 1, 2, 3 osv.
Altså - Først finder den dem der har 1 i "DisciplineID" og 1 i "SquadID" og løber disse igennem og skriver 1, 2, 3 osv i "PreliminaryID" Herefter løber den de poster igennem med 1 i "DisciplineID" og 2 i "SquadID" og opdaterer "PreliminaryID" med 1, 2, 3 osv.
Sådan skal den fortsætte indtil der ikke er flere med 1 i "DisciplineID", og derefter gå videre til 2, og køre samme procedurer dér.
Hi Lars I dont have time right now but if you dont get any response before tomorrow evening then I'll take a look if you can send me an exmaple of the table/data which you want to update. I dont think it is possible in pure SQL, some code will be necessary I think.
Synes godt om
Slettet bruger
31. marts 2008 - 00:49#2
Hvis du har en opdaterbar forespørgsel, som sorterer først på DisciplineID og derefter på SquadID og som også indeholder feltet PreliminaryID, så lav et modul kald det hvad du vil og indsæt flg. kode:
Public Function Opdater() Dim db As DAO.Database Dim rst As DAO.Recordset Dim a, b, c a = 1 b = 1 c = 1 Set db = CurrentDb() Set rst = db.OpenRecordset("DinForespørgsel") With rst .MoveFirst Do If !DisciplineID = a Then If !SquadID = b Then .Edit !PreliminaryID = c .Update c = c + 1 Else b = !SquadID c = 1 .Edit !PreliminaryID = c .Update c = c + 1 End If Else a = !DisciplineID b = !SquadID c = 1 .Edit !PreliminaryID = c .Update c = c + 1 End If .MoveNext Loop Until .EOF .Close End With End Function
Du kan så bruge kommandoen Call Opdater hvor som helst i din database, du kan eksempelvis åbne immidiate vinduet og kalde koden derfra!~)
Hejsa. Jeg kigger lige på den funktion hurtigst muligt. Og til Terry - Det er samme db som jeg sendte til dig ved forrige spørgsmål i tabellen tblPlayerAssignments
Ja, det ser ud til at virke med spg's måde. Men jeg takker begge for hjælpen og giver hermed points
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.