Advertisement
Guest User

Oppgave 9

a guest
Nov 15th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Option Compare Database
  2. Option Explicit
  3.  
  4. Private Type Studie
  5.     Navn As String
  6.     antPlass As Long
  7. End Type
  8.  
  9.  
  10.  
  11.  
  12. Private Sub cboTildelPlass_Click()
  13.  
  14.  
  15. Dim studier() As Studie
  16. Dim i As Long
  17. Dim rs As DAO.Recordset
  18. Dim stdset As DAO.Recordset
  19. Dim stdset2 As DAO.Recordset
  20. Dim strsql As String
  21. Dim strsql2 As String
  22. Dim Navn As String
  23. Dim StudieØnske As String
  24. Dim Poeng As Long
  25. Dim Prioritering As Long
  26. DoCmd.SetWarnings False
  27.  
  28. DoCmd.RunSQL "DELETE * FROM tblStudieplass"
  29.  
  30.  
  31. Set rs = CurrentDb.OpenRecordset("tblStudier")
  32.  
  33.  
  34. With rs
  35.     Do While Not .EOF
  36.         i = i + 1
  37.         ReDim Preserve studier(1 To i)
  38.         studier(i).Navn = rs.Fields("StudieKode").Value
  39.         studier(i).antPlass = rs.Fields("AntallPlasser").Value
  40.        
  41.         .MoveNext
  42.     Loop
  43. End With
  44.  
  45. strsql = "SELECT DISTINCT StudentID,Opptakspoeng FROM tblStudenter ORDER BY Opptakspoeng DESC"
  46. Set stdset = CurrentDb.OpenRecordset(strsql)
  47. strsql2 = "SELECT * FROM qStudStudie ORDER BY Opptakspoeng DESC"
  48. Set stdset2 = CurrentDb.OpenRecordset(strsql2)
  49.  
  50.     i = 0
  51.    
  52. With stdset
  53.     Do While Not .EOF
  54.     stdset2.MoveFirst
  55.     Navn = stdset.Fields("StudentID").Value
  56.    
  57.  
  58.     With stdset2
  59.         Do While Not .EOF
  60.             If Navn = stdset2.Fields("StudentID").Value Then
  61.                 StudieØnske = stdset2.Fields("StudieKode")
  62.                 Poeng = stdset.Fields("Opptakspoeng")
  63.                 Prioritering = stdset2.Fields("Prioritering")
  64.                         For i = LBound(studier) To UBound(studier)
  65.                             If studier(i).Navn = StudieØnske And studier(i).antPlass > 0 Then
  66.                                 DoCmd.RunSQL "INSERT INTO tblStudieplass (StudentID, StudieKode, Prioritering) VALUES ('" & Navn & "','" & StudieØnske & "'," & Prioritering & ")"
  67.                                 studier(i).antPlass = studier(i).antPlass - 1
  68.                                 stdset2.MoveNext
  69.                                 Exit For
  70.                             ElseIf studier(i).Navn = StudieØnske And studier(i).antPlass = 0 Then
  71.                                 Exit For
  72.                             End If
  73.                         Next i
  74.                        
  75.                 Exit Do
  76.              Else
  77.                 .MoveNext
  78.             End If
  79.         Loop
  80.     End With
  81.    
  82.    
  83.    
  84.    
  85.    
  86.     .MoveNext
  87.         Loop
  88. End With
  89.  
  90.  
  91.  
  92.  
  93.  
  94. Call MsgBox("Studentene har fått tildelt studieplass", vbInformation)
  95.  
  96. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement