Advertisement
Guest User

Oppgave 9

a guest
Nov 15th, 2017
66
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.                             End If
  71.                         Next i
  72.                        
  73.                 Exit Do
  74.              Else
  75.                 .MoveNext
  76.             End If
  77.         Loop
  78.     End With
  79.    
  80.    
  81.    
  82.    
  83.    
  84.     .MoveNext
  85.         Loop
  86. End With
  87.  
  88.  
  89.  
  90.  
  91.  
  92. Call MsgBox("Studentene har fått tildelt studieplass", vbInformation)
  93.  
  94. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement