Générer automatiquement des enregistrements - VB/VBA/VBS - Programmation
MarshPosté le 03-12-2004 à 02:55:35
Bonjour,
Jai un petit problème, pour cela je vous explique ma base
J'ai une table "Horaire" qui est relie par une relation 1 a plusieurs a une table "Contenu Horaire". Cette derniere est relie a la table employe par une relation plusieurs a 1. En fait, je veux creer un nouvel enregistrement horaire correspondant a une date precise. Cette enregistrement contiendra un sous formulaire (cont horaire). Chaque ligne du sous formulaire fera reference a un employe. Je sais creer tout cela et ca fonctionne, mais ce que je veux, c'est que chaque nouvel enregistrememt "horaire" contiennent deja l'ensemble des employes avec par exemple le champ "Heure_normale" de la table cont horaire egal a 8 pour chaque employe. Ce qui m'eviterait de reselectionner + de 100 employes par jour...
Mon code VB pour generer un nouvel enregistrement automatiquement correspondant a chaque ligne de la table employe en assignant par defaut une valeur au champ "Heure_normale" ne fonctionne pas
Voilà le code que j'ai appliqué sur l'évenement Click d'un bouton dans mon formulaire Horaire.
Dim dbsCurrent As Database Dim rstEmp As Recordset Set dbsCurrent = OpenDatabase(CurrentDb.Name) Set rstEmp = dbsCurrent.OpenRecordset("SELECT * FROM [Employé];" )
Do While Not rstEmp.EOF dbsCurrent.Execute "INSERT INTO [Cont horaire] (Heure_normale, Ref_employé)" VALUES (" & 8 & "," & rstEmp.Fields("Ref_employé" ) & ";" ) rstEmp.MoveNext Loop
Set rstEmp = Nothing Set dbsCurrent = Nothing
Lors de l'execution, j'obtiens une erreur qui me ramène à la ligne suivante : VALUES (" & 8 & "," & rstEmp.Fields("Ref_employé" ) & ";" ) et plus particulièrement sur ("Ref_employé" ) en disant : erreur de compilation, séparateur de liste attendu.
J'ai essayé de changer plein de trucs mais pas de solution
Marsh Posté le 03-12-2004 à 02:55:35
Bonjour,
Jai un petit problème, pour cela je vous explique ma base
J'ai une table "Horaire" qui est relie par une relation 1 a plusieurs a une table "Contenu Horaire". Cette derniere est relie a la table employe par une relation plusieurs a 1. En fait, je veux creer un nouvel enregistrement horaire correspondant a une date precise. Cette enregistrement contiendra un sous formulaire (cont horaire). Chaque ligne du sous formulaire fera reference a un employe. Je sais creer tout cela et ca fonctionne, mais ce que je veux, c'est que chaque nouvel enregistrememt "horaire" contiennent deja l'ensemble des employes avec par exemple le champ "Heure_normale" de la table cont horaire egal a 8 pour chaque employe. Ce qui m'eviterait de reselectionner + de 100 employes par jour...
Mon code VB pour generer un nouvel enregistrement automatiquement correspondant a chaque ligne de la table employe en assignant par defaut une valeur au champ "Heure_normale" ne fonctionne pas
Voilà le code que j'ai appliqué sur l'évenement Click d'un bouton dans mon formulaire Horaire.
Dim dbsCurrent As Database
Dim rstEmp As Recordset
Set dbsCurrent = OpenDatabase(CurrentDb.Name)
Set rstEmp = dbsCurrent.OpenRecordset("SELECT * FROM [Employé];" )
Do While Not rstEmp.EOF
dbsCurrent.Execute "INSERT INTO [Cont horaire] (Heure_normale, Ref_employé)"
VALUES (" & 8 & "," & rstEmp.Fields("Ref_employé" ) & ";" )
rstEmp.MoveNext
Loop
Set rstEmp = Nothing
Set dbsCurrent = Nothing
Lors de l'execution, j'obtiens une erreur qui me ramène à la ligne suivante :
VALUES (" & 8 & "," & rstEmp.Fields("Ref_employé" ) & ";" )
et plus particulièrement sur ("Ref_employé" ) en disant :
erreur de compilation, séparateur de liste attendu.
J'ai essayé de changer plein de trucs mais pas de solution
Voici le détail de ma base pour plus de clareté
Tables : Horaire
Ref_horaire
Date
Cont horaire
Ref_cont_horaire
Ref_employé
Ref_horaire
Heure_normale
Heure_supp
Employé
Ref_employé
Nom
Formulaire : Horaire
Sous-formulaire : Cont horaire Sous-formulaire
D'avance merci beaucoup car je ne peux m'en sortir seul...
Baptiste