Med974
Messages postés2Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention27 décembre 2002
-
27 déc. 2002 à 07:59
bibilafrayeur
Messages postés59Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention26 juillet 2007
-
30 déc. 2002 à 18:05
Jai plusieurs petites modif. à apporter sur une base que j'ai développé et comme ca fais kan meme pas mal de tps que je ne fai plus d'Acces ts les jours j'ai du mal.
Voila j'ai un form qui permet de rentrer les activités quotidiennes des employés dans une table.
Par ex l'employé X a travaillé 3h sur Access, 4h sur Excel et 1h sur Word le 26/12/2002.
Cela équivaut à 3 enregistrements distinct dans ma table.
Ce que je voudrais faire, c'est un contrôle sur le nombre d'heures (une journée ne doit pas dépasser 8 heures pour un employé).
Si je reprends l'ex lorsque que lemployé va rentrer son 3ème enregistrement, si il choisi un nombre >1 ds le champ heures je veux un msg d'avertissement lui disant : "on ne peut pas travailler plus de 8h par jour".
Bon la méthode à utiliser je la connais, il faut utiliser un recordset qui va aller chercher ds la table etc mais étant donné que ca fai un bout de tps que j'ai pa fais ça et que je retrouve pas mes travaux d'en temps g du mal :)
so need backup :)
Autre chose, j'aimerais rajouter un champ ou je rentrerais une valeur x, je voudrais que lorsque que je valide mon form via le bouton, crééer x enregistrements ds la table avec pr chak enregistrement une incrémentation de 1 jour sur la date.
Ici meme problème, il faut crééer un objet de type recordset pr se balader ds la table mais je c pu faire !
bibilafrayeur
Messages postés59Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention26 juillet 2007 27 déc. 2002 à 11:00
'Salut pour le recorset fait comme il suit :
dim db as database
dim rs as recordset
dim varibale_nom as string 'Variable du nom de la personne
variable_nom = champ_nom.text
set db = opendatabase(app.path)
set rs = db.openrecorset("Select t_travail.nom, t_travail.word, t_travail.excel, t_travail.access FROM t_travail WHERE (((t_travail.nom)='" + variable_nom + "')", dbopendynaset)
'Ensuite faire le calcul
dim word as single
dim excel as single
dim access as single
word = rs!word
excel = rs!excel
access = rs!access
'Ps je fais mes requete sous access et je copie/colle le code SQL
Med974
Messages postés2Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention27 décembre 2002 27 déc. 2002 à 12:53
L'exemple que j'avais donné au sujet des heures travaillés sur excel word access ne correspond pas réélement à ma bdd mais quand j'adapte ça me donne ceci :
Dim db As database
Dim rs As Recordset
Dim variaBle_nom As String 'Variable du nom de la personne
variaBle_nom = Nomemploye.Text
Set db = opendatabase(app.Path)
Set rs = db.openrecordset("Select Correspond.Nomemploye, Correspond.date,Sum(Correspond.nbheures) As Total FROM Correspond GROUP BY Correspond.Nomemploye, Correspond.date HAVING (Correspond.Nomemploye)='" + variaBle_nom + "' AND Correspond.Date=Calendrier.value", dbopendynaset)
'Ensuite faire le calcul
If Total > 8 Then
MsgBox ("Un employé ne peut pas travailler plus de 8h par jour")
End If
J'ai mis ce code sur une procédure évenementielle onclik du bouton de validation du form et kan je clik sur le bouton il bloque dès la 1ère ligne sur :
Dim db As database
le msg d'erreur est : Type défini par l'utilisateur non défini ...
bibilafrayeur
Messages postés59Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention26 juillet 2007 30 déc. 2002 à 18:05
Ok Excuse moi je me suis un petit peu chié dessus !! :)
il faut faire ceci pour la connexion je pense :
set db = opendatabase(app.path & "non_de_la_base_de_donnee.mdb")
Voilà je crois que ça vient de là !! Sinon vérifie que la variable "db' ne soit pas utilisée ailleur dans ton projet visuak Basic sinon change le nom de ta variable :
Dim base_calcul as database
Enfin je pense que le pb vient de là .... sinon c'est louche !! :))
Je me souviens d'un bug quand je n'arrivait pas à me connecter à ma base avec la procédure ci dessus, il fallait que je rajouter un controle "Data" (le petit icone qui avec 2 flèches opposée sous lesquels il y a 2 petits rectangle blanc) sans rien y faire (pas de paramètrage) !!