Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ouvrir un formulaire tous les jours a 07h00

7 réponses
Avatar
sleg
Bonjour,

J'ai creer un formulaire index qui s'ouvre a l'ouverture de ma bdd et
qui lancer un import des requete mais j'aimerais lasser ma bdd ouverte
en permanence et si possible il faudrait que j'arrive a lancer
plusieur le process a 07h00 le matin tous les jours et comme
contrainte je ne peu pas utiliser la planificateur de tache.

auriez vous une id=E9e pour resoudre mon probleme.

ps : j'oubliais je suis nul en code vba et access.

7 réponses

Avatar
3stone
Salut,

"sleg"
J'ai creer un formulaire index qui s'ouvre a l'ouverture de ma bdd et
qui lancer un import des requete mais j'aimerais lasser ma bdd ouverte
en permanence et si possible il faudrait que j'arrive a lancer
plusieur le process a 07h00 le matin tous les jours et comme
contrainte je ne peu pas utiliser la planificateur de tache.
____

Si la base est active, tu peux utiliser le principe du petit formulaire
ouvert (mais caché) dans lequel tu auras mis le code "sur minuterie"
Avec une valeur de 60000 milisecondes comme "interval minuterie"
tu obtiendras une scrutation par minute.

- Il te faudra une table "tblExecute" qui contient seulement un champ
DateExec dans lequel tu sauveras la date du jour.

- Comme code, un simple test sur la plus grande date et si pas actuelle,
tu exécutes tes requêtes
- Mettre le timerinterval à zéro pendant ce temps pour éviter les relances

if Date > DMax("DateExec","tblExecute") Then
if Time > #07:00# Then

Me.timerinterval = 0
' ici tes actions
...

'sauver la date dans la table
CurrentDb.Execute "Insert Into tblExecute (DateExec) Values (" & Date & ");"

' et remettre le timer en route
Me.timerinterval = 60000

end if
end if

En gros et sans test ;-))

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
sleg
merci beaucoup de cette info je vais tester

bonne journée.


On 29 juil, 15:46, "3stone" wrote:
Salut,

"sleg"
J'ai creer un formulaire index qui s'ouvre a l'ouverture de ma bdd et
qui lancer un import des requete mais j'aimerais lasser ma bdd ouverte
en permanence et si possible il faudrait que j'arrive a lancer
plusieur le process a 07h00 le matin tous les jours et comme
contrainte je ne peu pas utiliser la planificateur de tache.
____

Si la base est active, tu peux utiliser le principe du petit formulaire
ouvert (mais caché) dans lequel tu auras mis le code "sur minuterie"
Avec une valeur de 60000 milisecondes comme "interval minuterie"
tu obtiendras une scrutation par minute.

- Il te faudra une table "tblExecute" qui contient seulement un champ
DateExec dans lequel tu sauveras la date du jour.

- Comme code, un simple test sur la plus grande date et si pas actuelle,
tu exécutes tes requêtes
- Mettre le timerinterval à zéro pendant ce temps pour éviter les r elances

    if Date > DMax("DateExec","tblExecute") Then
        if Time > #07:00# Then

        Me.timerinterval = 0
        ' ici tes actions
        ...

        'sauver la date dans la table
        CurrentDb.Execute "Insert Into tblExecute (DateExec) Valu es (" & Date & ");"

        ' et remettre le timer en route
        Me.timerinterval = 60000

        end if
    end if

En gros et sans test ;-))

--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)


Avatar
sleg
Re bonjour,

j'ai coller le code comme cela :

Private Sub Form_Timer()
If Date > DMax("DateExec", "tblExecute") Then
If Time > #10:27:00 AM# Then


Me.TimerInterval = 6000

'DoCmd.Close acReport, "bl_import1"
DoCmd.OpenQuery "003 vide_table"
'DoCmd.RunMacro "import_csv"
DoCmd.OpenQuery "001 delete attentec"
DoCmd.OpenQuery "002 non assigné"
DoCmd.OpenQuery "004 OLA"
DoCmd.OpenQuery "005 ola-30"
DoCmd.OpenQuery "006 ola-1h"
DoCmd.OpenQuery "007 ola-2h"
DoCmd.OpenReport "bl_import1"
'Kill "serveurPORTAILProjetrep003Bl_autoReport.csv"
'sauver la date dans la table
CurrentDb.Execute "Insert Into tblExecute (DateExec) Values ("
& Date & ");"


End If
End If
End Sub


mais j'ai l'impression que cela ne fonctionne pas la table tblExecute
n'est pas alimenté est ce normal ?? et les divers actions ne se lance
pas ??


On 30 juil, 07:31, sleg wrote:
merci beaucoup de cette info je vais tester

bonne journée.

On 29 juil, 15:46, "3stone" wrote:



> Salut,

> "sleg"
> J'ai creer un formulaire index qui s'ouvre a l'ouverture de ma bdd et
> qui lancer un import des requete mais j'aimerais lasser ma bdd ouverte
> en permanence et si possible il faudrait que j'arrive a lancer
> plusieur le process a 07h00 le matin tous les jours et comme
> contrainte je ne peu pas utiliser la planificateur de tache.
> ____

> Si la base est active, tu peux utiliser le principe du petit formulaire
> ouvert (mais caché) dans lequel tu auras mis le code "sur minuterie"
> Avec une valeur de 60000 milisecondes comme "interval minuterie"
> tu obtiendras une scrutation par minute.

> - Il te faudra une table "tblExecute" qui contient seulement un champ
> DateExec dans lequel tu sauveras la date du jour.

> - Comme code, un simple test sur la plus grande date et si pas actuelle ,
> tu exécutes tes requêtes
> - Mettre le timerinterval à zéro pendant ce temps pour éviter les relances

>     if Date > DMax("DateExec","tblExecute") Then
>         if Time > #07:00# Then

>         Me.timerinterval = 0
>         ' ici tes actions
>         ...

>         'sauver la date dans la table
>         CurrentDb.Execute "Insert Into tblExecute (DateExec) Va lues (" & Date & ");"

>         ' et remettre le timer en route
>         Me.timerinterval = 60000

>         end if
>     end if

> En gros et sans test ;-))

> --
> A+
> Pierre (3stone) Access MVP
> Perso:http://www.3stone.be/
> MPFA:http://www.mpfa.info/ (infos générales)- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -


Avatar
Eric
Bonjour,

Et avec ce SQL, (seule chose que j'ai regardée) :
CurrentDb.Execute "Insert Into tblExecute (DateExec) Values (#" & DATE &
"#);"

sleg a écrit :
Re bonjour,

j'ai coller le code comme cela :

Private Sub Form_Timer()
If Date > DMax("DateExec", "tblExecute") Then
If Time > #10:27:00 AM# Then


Me.TimerInterval = 6000

'DoCmd.Close acReport, "bl_import1"
DoCmd.OpenQuery "003 vide_table"
'DoCmd.RunMacro "import_csv"
DoCmd.OpenQuery "001 delete attentec"
DoCmd.OpenQuery "002 non assigné"
DoCmd.OpenQuery "004 OLA"
DoCmd.OpenQuery "005 ola-30"
DoCmd.OpenQuery "006 ola-1h"
DoCmd.OpenQuery "007 ola-2h"
DoCmd.OpenReport "bl_import1"
'Kill "serveurPORTAILProjetrep003Bl_autoReport.csv"
'sauver la date dans la table
CurrentDb.Execute "Insert Into tblExecute (DateExec) Values ("
& Date & ");"


End If
End If
End Sub


mais j'ai l'impression que cela ne fonctionne pas la table tblExecute
n'est pas alimenté est ce normal ?? et les divers actions ne se lance
pas ??


On 30 juil, 07:31, sleg wrote:
merci beaucoup de cette info je vais tester

bonne journée.

On 29 juil, 15:46, "3stone" wrote:



Salut,
"sleg"
J'ai creer un formulaire index qui s'ouvre a l'ouverture de ma bdd et
qui lancer un import des requete mais j'aimerais lasser ma bdd ouverte
en permanence et si possible il faudrait que j'arrive a lancer
plusieur le process a 07h00 le matin tous les jours et comme
contrainte je ne peu pas utiliser la planificateur de tache.
____
Si la base est active, tu peux utiliser le principe du petit formulaire
ouvert (mais caché) dans lequel tu auras mis le code "sur minuterie"
Avec une valeur de 60000 milisecondes comme "interval minuterie"
tu obtiendras une scrutation par minute.
- Il te faudra une table "tblExecute" qui contient seulement un champ
DateExec dans lequel tu sauveras la date du jour.
- Comme code, un simple test sur la plus grande date et si pas actuelle,
tu exécutes tes requêtes
- Mettre le timerinterval à zéro pendant ce temps pour éviter les relances
if Date > DMax("DateExec","tblExecute") Then
if Time > #07:00# Then
Me.timerinterval = 0
' ici tes actions
...
'sauver la date dans la table
CurrentDb.Execute "Insert Into tblExecute (DateExec) Values (" & Date & ");"
' et remettre le timer en route
Me.timerinterval = 60000
end if
end if
En gros et sans test ;-))
--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
sleg
ok merci mais je ne comprends pas il ne se passe rien

j'ai coller le code sur "sur minuterie" est il au bon amplacement ?

merci de votre retour.


On 30 juil, 11:30, Eric wrote:
Bonjour,

Et avec ce SQL, (seule chose que j'ai regardée) :
CurrentDb.Execute "Insert Into tblExecute (DateExec) Values (#" & DATE &
"#);"

sleg a écrit :





> Re bonjour,

> j'ai coller le code comme cela :

> Private Sub Form_Timer()
>   If Date > DMax("DateExec", "tblExecute") Then
>         If Time > #10:27:00 AM# Then

>         Me.TimerInterval = 6000

> 'DoCmd.Close acReport, "bl_import1"
> DoCmd.OpenQuery "003 vide_table"
> 'DoCmd.RunMacro "import_csv"
> DoCmd.OpenQuery "001 delete attentec"
> DoCmd.OpenQuery "002 non assigné"
> DoCmd.OpenQuery "004 OLA"
> DoCmd.OpenQuery "005 ola-30"
> DoCmd.OpenQuery "006 ola-1h"
> DoCmd.OpenQuery "007 ola-2h"
> DoCmd.OpenReport "bl_import1"
> 'Kill "serveurPORTAILProjetrep003Bl_autoReport.csv"
>         'sauver la date dans la table
>         CurrentDb.Execute "Insert Into tblExecute (DateExec) Va lues ("
> & Date & ");"

>         End If
>     End If
> End Sub

> mais j'ai l'impression que cela ne fonctionne pas la table tblExecute
> n'est pas alimenté est ce normal ?? et les divers actions ne se lance
> pas ??

> On 30 juil, 07:31, sleg wrote:
>> merci beaucoup de cette info je vais tester

>> bonne journée.

>> On 29 juil, 15:46, "3stone" wrote:

>>> Salut,
>>> "sleg"
>>> J'ai creer un formulaire index qui s'ouvre a l'ouverture de ma bdd et
>>> qui lancer un import des requete mais j'aimerais lasser ma bdd ouvert e
>>> en permanence et si possible il faudrait que j'arrive a lancer
>>> plusieur le process a 07h00 le matin tous les jours et comme
>>> contrainte je ne peu pas utiliser la planificateur de tache.
>>> ____
>>> Si la base est active, tu peux utiliser le principe du petit formulai re
>>> ouvert (mais caché) dans lequel tu auras mis le code "sur minuterie "
>>> Avec une valeur de 60000 milisecondes comme "interval minuterie"
>>> tu obtiendras une scrutation par minute.
>>> - Il te faudra une table "tblExecute" qui contient seulement un champ
>>> DateExec dans lequel tu sauveras la date du jour.
>>> - Comme code, un simple test sur la plus grande date et si pas actuel le,
>>> tu exécutes tes requêtes
>>> - Mettre le timerinterval à zéro pendant ce temps pour éviter l es relances
>>>     if Date > DMax("DateExec","tblExecute") Then
>>>         if Time > #07:00# Then
>>>         Me.timerinterval = 0
>>>         ' ici tes actions
>>>         ...
>>>         'sauver la date dans la table
>>>         CurrentDb.Execute "Insert Into tblExecute (DateExec) Values (" & Date & ");"
>>>         ' et remettre le timer en route
>>>         Me.timerinterval = 60000
>>>         end if
>>>     end if
>>> En gros et sans test ;-))
>>> --
>>> A+
>>> Pierre (3stone) Access MVP
>>> Perso:http://www.3stone.be/
>>> MPFA:http://www.mpfa.info/(infos générales)- Masquer le texte des messages précédents -
>> - Afficher le texte des messages précédents -

--
A+
Erichttp://www.mpfa.info/
Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
3stone
Salut,

"sleg"
ok merci mais je ne comprends pas il ne se passe rien
j'ai coller le code sur "sur minuterie" est il au bon amplacement ?
____


J'avais dit: sans test ;-)


Il faut déjà corriger ceci:

if Date > DMax("DateExec","tblExecute") Then

car, la première fois, la table est vide, et dans ce cas....

if Date > Nz(DMax("DateExec","tblExecute"),0) Then


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
sleg
Bonjour;

Grand merci lol ça marche nickel me reste plus que mon probleme
d'import de mon ficheir csv a régler je n'arrive pas a importer les
champs date de mon fichier csv qui sont au format jj/mm/aaa hh:mm une
idee

Encore merci



On 30 juil, 17:57, "3stone" wrote:
Salut,

"sleg"
ok merci mais je ne comprends pas il ne se passe rien
j'ai coller le code sur "sur minuterie" est il au bon amplacement ?
____

J'avais dit: sans test  ;-)

Il faut déjà corriger ceci:

    if Date > DMax("DateExec","tblExecute") Then

car, la première fois, la table est vide, et dans ce cas....

    if Date > Nz(DMax("DateExec","tblExecute"),0) Then

--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)