Erreur 424 sous access

Résolu
SB -  
 SB -
Bonjour,
J'ai créé un petit code sous access et j'ai une erreur a l'exécution de mon code.
Voici mon code :

Sub salaries()
If salariés.[code départ] > Now() Then <-- erreur est généré ici
salariés.[code collaborateur] = "0"
End If
End Sub

Merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. bnb
     
    As tu bien ouvert ton recordset "salariés"?
    style: set salariés= currentdb.openrecordset("le nom de ma table")

    Est-ce que la référence à DAO est bien activée (et si oui, se situe-t-elle bien avant celle de AdoDB si celle-ci est aussi activée)?
    0
  2. SB
     
    Non je n'avais pas mis ce code(le code que j'ai posté au dessus était le code que j'ai mis dans ma page)

    DAO = microsoft DAO 3.6 object library et AdoDB = adobe acrobat 7.0 browser control type library 1.0?
    Parske si c sa DAO était bien coché mais pas AdoDB.

    Merci bcp bnb
    0
    1. bnb
       
      Bon on va pousser un peu plus loin le developpement...

      Code VBA:
      Public Function Test() as boolean
      dim db as database
      dim rst as recordset

      on error goto Erreur
      set db = currentdb
      set rst = db.openrecordset("salariés")
      with rst
      if not .eof then
      .movefirst
      do until .eof
      If rst![code départ] > Now() Then
      .edit
      rst![code collaborateur] = "0"
      .update
      endif
      .movenext
      loop
      End If

      Test = true

      Sortie:
      On error resume next
      set rst = nothing
      set db = nothing

      Erreur:
      Msgbox err.number & " : " & err.description
      Test = false
      resume Sortie

      End function
      0
      1. bnb > bnb
         
        Oups j'ai oublié d'insérer "end with" sur la ligne précédent "Test = True"

        Sorry
        0
  3. SB
     
    Merci bnb mais ça ne marche tjs pas!
    En fait je voudrais que ce code soit éxecuter a l'ouverture de ma base de donénes et quand j'ouvre ma base de données c'est un formulaire principal qui s'ouvre comme je le voulais.
    Ensuite, j'ai été dans les propriété du formulaire et j'ai mis "sur chargement" le code que tu m'a mis.c'est bien sa qu'il faut faire?
    Merci
    0
  4. SB
     
    Il faut que je commence le code par : Private Sub Form_Load() et finir le code par : end sub????
    Parce que quand je ne commence pas par Private Sub Form_Load() et fini pas par end sub le code par quand je rééxecute le programme!C'est a dire que dans les propriété du formulaire principal "sur chargement" est vide alors que j'y avais mis le code!!
    Merci d'avance
    0
    1. bnb
       
      Ok tu retapes le code dans l'evenement onload de ton formulaire.
      Tu retires le "as boolean" de la fonction et les 2 "test = true/false".
      N'oublie pas le "end with" que j'avais omis dans mon code et tu testes!
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. SB
     
    J'ai testé est au chargement de ma base j'ai un message d'erreur qui s'affiche :
    3265 : Element non trouvé dans cette collection et quand je click sur ok un autre message d'erreur aparait, 0:!!!
    Mais les salariés dont la date de départ est dépassé sont toujours la!!!
    Merci
    0
    1. SB
       
      SA MARCHE!!!!!!!!!!!!
      Voici mon code :

      Private Sub Form_Load()

      Dim db As Database
      Dim rst As Recordset

      On Error GoTo Erreur
      Set db = CurrentDb
      Set rst = db.OpenRecordset("salariés")
      With rst
      If Not .EOF Then
      .MoveFirst
      Do Until .EOF
      If rst![date départ] < Now() Then
      .Edit
      rst![Code collaborateur] = "0"
      .Update
      End If
      .MoveNext
      Loop
      End If

      End With

      Sortie:
      On Error Resume Next
      Set rst = Nothing
      Set db = Nothing

      Erreur:
      MsgBox Err.Number & " : " & Err.Description
      Resume Sortie

      End Sub

      Cela dit j'ai un petit souci juste a l'ouverture de ma base, j'ai message Microsoft office acces avec marké :0 et quand je click sur ok ma base marche bien derriere!!
      Un grand merci bnb pour ton aide sans toi je n'aurais jamais réussi a faire ce code!
      Merci encore
      0
    2. SB
       
      SA MARCHE!!!!!!!!!!!!
      Voici mon code :

      Private Sub Form_Load()

      Dim db As Database
      Dim rst As Recordset

      On Error GoTo Erreur
      Set db = CurrentDb
      Set rst = db.OpenRecordset("salariés")
      With rst
      If Not .EOF Then
      .MoveFirst
      Do Until .EOF
      If rst![date départ] < Now() Then
      .Edit
      rst![Code collaborateur] = "0"
      .Update
      End If
      .MoveNext
      Loop
      End If

      End With

      Sortie:
      On Error Resume Next
      Set rst = Nothing
      Set db = Nothing

      Erreur:
      MsgBox Err.Number & " : " & Err.Description
      Resume Sortie

      End Sub

      Cela dit j'ai un petit souci juste a l'ouverture de ma base, j'ai message Microsoft office acces avec marké :0 et quand je click sur ok ma base marche bien derriere!!
      Un grand merci bnb pour ton aide sans toi je n'aurais jamais réussi a faire ce code!
      Merci encore
      0
  7. SB
     
    Et si je veux que quand la date départ > 1 an on supprime l'enregistrement??c juste la "requete"qui change?
    Merci bcp bnb
    0