Erreur 424 sous access

Résolu/Fermé
SB - 21 janv. 2009 à 13:32
 SB - 21 janv. 2009 à 15:58
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

6 réponses

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
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
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
Oups j'ai oublié d'insérer "end with" sur la ligne précédent "Test = True"

Sorry
0
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
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
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