patRRick900RR
Gebruiker
- Lid geworden
- 24 jun 2013
- Berichten
- 27
Hallo, ben ik weer...
Ik loop tegen het volgende aan. D.m.v. DAO maak ik een record aan in de tabel tbl_onderhoudscycli.
Een van de velden [ROLnummer] gebruik ik later in de code om onderhoudsregels aan te maken.
Als deze regels echter aangemaakt worden, blijft het ROLnummer gelijk. Ik heb dit getest en kwam erachter dat dit komt omdat de eerdere record van de tabel tbl_onderhoudscycli actief blijft. Ook het toevoegen van de code .bookmark = .lastmodified helpt niet, waarschijnlijk omdat ik hierna een requery doe van deze tabel.
Een tweede manier die ik heb geprobeerd was om door middel van een sql statement het ROLnummer te selecteren op basis van de inputbox en de locatienaam, dan krijg ik de foutmelding Error 13, type mismatch.
Ik doe klaarblijkelijk wat fout....maar wat? Wie heeft er suggesties? Alvast Dank!
Patrick
Ik loop tegen het volgende aan. D.m.v. DAO maak ik een record aan in de tabel tbl_onderhoudscycli.
Een van de velden [ROLnummer] gebruik ik later in de code om onderhoudsregels aan te maken.
Als deze regels echter aangemaakt worden, blijft het ROLnummer gelijk. Ik heb dit getest en kwam erachter dat dit komt omdat de eerdere record van de tabel tbl_onderhoudscycli actief blijft. Ook het toevoegen van de code .bookmark = .lastmodified helpt niet, waarschijnlijk omdat ik hierna een requery doe van deze tabel.
Een tweede manier die ik heb geprobeerd was om door middel van een sql statement het ROLnummer te selecteren op basis van de inputbox en de locatienaam, dan krijg ik de foutmelding Error 13, type mismatch.
Ik doe klaarblijkelijk wat fout....maar wat? Wie heeft er suggesties? Alvast Dank!
Patrick
Code:
Private Sub Jaarplanning_DblClick(Cancel As Integer)
'Bepaal het aantal eenheden van de locatie.
Dim Eenheden As Integer
Eenheden = DSum("[Eenheden]", "[tbl_eenheden]", "[Locatienaam] = Forms![frm_locatiebeheer]![Locatienaam]")
'Maakt onderhoudsjaar aan in locatiedetails, na gecontroleerd te hebben of dit jaar reeds bestaat.
Dim iPFX As DAO.Database
Set iPFX = CurrentDb
Dim strSQL As String
Dim strSQL2 As String
Dim intOnderhoudsjaar As Long
Dim rst As DAO.Recordset, rst2 As DAO.Recordset, rst3 As DAO.Recordset
intOnderhoudsjaar = InputBox("Van welk jaar wilt u het onderhoud invoeren?")
strSQL2 = "SELECT * FROM tbl_onderhoudscycli WHERE [Locatienaam] ='" & Me.Locatienaam & "' And [Onderhoudsjaar] = " & intOnderhoudsjaar & ""
Set rst3 = iPFX.OpenRecordset(strSQL2)
If rst3.RecordCount = 0 Then
With rst3
.AddNew
![Locatienaam] = Forms![frm_Locatiebeheer]![Locatienaam]
![Onderhoudsjaar] = intOnderhoudsjaar
.Update
.Bookmark = .LastModified
.Close
End With
Else
MsgBox "Onderhoudsjaar reeds aanwezig voor deze locatie.", vbInformation, "Invoer Onderhoudsjaar."
End If
Forms![frm_Locatiebeheer]![tbl_onderhoudscycli subform].Requery 'update het subform na het toevoegen van een onderhoudsjaar
'Selecteer juiste ROLnummer
Dim intROLnummer As Integer
intROLnummer = "SELECT ROLnummer.tbl_onderhoudscycli FROM tbl_onderhoudscycli WHERE [Locatienaam] ='" & Me.Locatienaam & "' And [Onderhoudsjaar] = " & intOnderhoudsjaar & ""
MsgBox (intROLnummer)
'Schrijft onderhoudsregels voor betreffende onderhoudsjaar & locatie
strSQL = "SELECT * FROM qry_onderhoudsregels WHERE [Locatienaam] ='" & Me.Locatienaam & "' And [Onderhoudsjaar] = " & intOnderhoudsjaar & ""
Set rst = iPFX.OpenRecordset(strSQL, dbOpenDynaset)
If rst.RecordCount > 0 Then
MsgBox "Er zijn al onderhoudsregels aanwezig voor deze locatie en dit jaar.", vbInformation, "Controleer Onderhoudsregels."
Else
Set rst2 = iPFX.OpenRecordset("qry_onderhoudsregels")
With rst2
.AddNew
![Onderhoudsjaar] = intOnderhoudsjaar
![Locatienaam] = Forms![frm_Locatiebeheer]![Locatienaam]
![ROLnummer] = Forms![frm_Locatiebeheer]![tbl_onderhoudscycli subform].Form!ROLnummer
![Regelnummer] = "10"
![Aantal] = Eenheden
Select Case Eenheden
Case 0 To 5
![Artikelnummers] = 10 'Staffel 0 - 5
Case 5 To 10
![Artikelnummers] = 20 'Staffel 6 - 10
Case Is > 10
![Artikelnummers] = 30 'Staffel 10 - 20
End Select
.Update
.Close
End With
End If
DoCmd.Requery (qry_onderhoudsdetails)
rst.Close
End Sub
Laatst bewerkt: