BI_jo
Messages postés1Date d'inscriptionvendredi 20 avril 2007StatutMembreDernière intervention20 avril 2007
-
20 avril 2007 à 13:34
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 2007
-
20 avril 2007 à 13:53
salut a tous
je suis nouvelle et j'espere que quelqu'un pourra m'aider........
j'ai un petit soucis sur une application VBA dont je ne suis pas vraiment fan ....
je travaille sur un module gestion de congés de consultant.
le formulaire d'insertion des congés doit non seulement enregistrer les
conges dans la table "conges_pris" mais egalement cumuler, ce
nb_jours_pris (si la ligne existe deja) dans la table activité.
or lorsque je valide mes saisies , le message d'erreur est "opération
annulée". en cherchant mieux, jai trouve que les conges s'inserent dans
la table "conges_pris" mais il ne se passe rien dans la table activite
!!
voici le morceau de code qui a ete ecrit par une tiers personne qui
n'est plus joignable (dommage pour moi). excusez d'avance les noms de
var ou de table pas reglementaires (je c, ca fait de la peine!!)
voici le code du bouton valider
Private Sub valid_saisie_Click()
On Error GoTo Err_valid_saisie_Click
'verifie ke les champs ne sont pas null
If IsNull(consultant) Or consultant & "" = "" Or
IsNull(Me.date_debut) Or Me.date_debut & "" = "" Or
IsNull(Me.date_fin) Or Me.date_fin & "" = "" Or
IsNull(Me.nb_jours_pris) Or nb_jours_pris & "" = "" Or
Me.nb_jours_pris <= 0 Or IsNull(Me.typ_conges) Or typ_conges &
"" = "" Then
MsgBox "La saisie est incorrecte.", vbCritical
Exit Sub
End If
If CDate(Me.date_debut) > CDate(Me.date_fin) Then
MsgBox "La date de début
doit être inférieure ou égale à la date de fin.", vbInformation
Exit Sub
End If
If DCount("*", "conges_pris", "id_salarie = " &
Me.consultant & " and date_deb between cdate('" & Me.date_debut
& "') and cdate('" & Me.date_fin & "')") > 0 Then
MsgBox "Il existe déjà des
congés sur cette période pour cette ressource.", vbCritical
Exit Sub
End If
If DCount("*", "conges_pris", "id_salarie = " &
Me.consultant & " and date_fin between cdate('" & Me.date_debut
& "') and cdate('" & Me.date_fin & "')") > 0 Then
MsgBox "Il existe déjà des
congés sur cette période pour cette ressource.", vbCritical
Exit Sub
End If
'declarations
Dim db As Database
Dim rst As DAO.Recordset
Dim rst1 As DAO.Recordset
Dim rst2 As DAO.Recordset
Dim sql As String
Dim sql1 As String
Dim sql2 As String
Dim SQL3 As String
Dim req As String
Dim Tarif As Long
Dim periode_deb As String
Dim date_deb1 As String
Dim date_deb2 As String
Dim periode_fin As String
Dim date_fin1 As String
Dim date_fin2 As String
Dim ret As Long
Dim manager As Long
Dim Type_Activité As Long
date_fin = Me.date_fin
date_deb1 = Mid(Me.date_debut, 4, 2)
date_deb2 = Right(Me.date_debut, 2)
periode_deb = date_deb2 & date_deb1
date_fin1 = Mid(Me.date_fin, 4, 2)
date_fin2 = Right(Me.date_fin, 2)
periode_fin = date_fin2 & date_fin1
If periode_deb <> periode_fin Then
ret = MsgBox("Votre date de
début et votre date de fin" & Chr(13) & "ne sont pas sur le
même mois de la même année", vbExclamation, "Attention")
Si tu veux peut etre un peu plus d'infos sur une erreur, recopie ta requete dans le mode SQL d'une fenetre de création de requete de Access (car je pense que tu es sur Access CurrentDb) menu affichage.