Utiliser un recordset !

Signaler
Messages postés
2
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
27 décembre 2002
-
Messages postés
59
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
26 juillet 2007
-
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 !

Help et merci d'avance !!

3 réponses

Messages postés
59
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
26 juillet 2007

'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
0
Messages postés
2
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
27 décembre 2002

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 ...
0
Messages postés
59
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
26 juillet 2007

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) !!

Aller bonne année d'ici là !
0