Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2011, 09h13   #1
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 181
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 181
Points : 34
Points : 34
Par défaut Automatisation -Pistes de réflexion

Bonjour à toutes et à tous

je travail sur un environnement mixte,j'ai MS access et sql serveur, qui sont liés par un lien ODBC, j'arrive donc à consulter les tables sql server sur access.
Mes données sont des données téléphoniques qui se trouvent sur le serveur,
je souhaite créer une BDD qui chaque jour à 23 h59 me présentera un certains nombre d'infos sur la journnée : par exemple le nombre d'appels entrant , sortant, le % d'appels de longues durée,... entre 00h et 23h59.

Et faire la même chose à chaque fin de semaine et à chaque de fin mois.

J'aimerai donc avoir quelques pistes de réflexion : faut il passer par des requêtes, par VBA? comment le faire sans porter atteinte serveur?...

Merci d'avance pour votre aide


Kedmard
kedmard est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/12/2011, 18h45   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
Déjà il faut que tu fasses les requêtes dont tu as besoin.

Ensuite si tu souhaites ouvrir une base à un momnet précis la solution la plus simple est de créer une tâche dans le schéduleur de Windows et d'y programmer la date et l'heure.

Cette tâche va appler Access par la ligne de commande, lui passer le nom de ta BD et éventuellement le nom d'une macro à exécuter.

Le point que je ne comprend pas c'est :
Citation:
"comment le faire sans porter atteinte serveur"
Dans quel sens entens-tu porter atteinte au serveur ? En mettant les données en danger d'être modifier ? En consommant trop de CPU qui l'empécherai de satisfaire d'autres applis ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 09h07   #3
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 181
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 181
Points : 34
Points : 34
Merci marot_r de l'attention que tu accordes à mon problème.

Pour les requêtes je les toutes déjà faites en me servant des tables sql serveur liées à access, le souci c'est qu'après éxécution elles ne contiennent qu'une partie des données initiales (ce qui me semble normal).


En ce qui concerne la programmation d'une tâche dans le shedule windows je ne vois pas comment faire est-ce une programmation en C,C++ ?


Enfin quand je dis porter atteinte au serveur , je pense surtout aux données , les modifier à tort, aussi craindre que les temps de traitement deviennnent très lent ...


Merci encore pour ton aide

Kedmard
kedmard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 15h30   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
Citation:
Envoyé par kedmard Voir le message
En ce qui concerne la programmation d'une tâche dans le shedule windows je ne vois pas comment faire est-ce une programmation en C,C++ ?
Non, le schéduleur (ou programmateur de tâches en français de France :-) te permets d'appeler des programmes selon le calendrier qui te convient. C'est dans les Outils de Windows XP mais je pense qu'il doit exister sur les autres Windows.

Pour activer Access la solution la plus simple consiste à créer une série de .bat avec les options et instructions dont tu as besoin et d'appler ces .bat avec le schéduleur. Les .bat sont faciles à tester et à mettre au point individuellement sans passer par le programmateur.

Citation:
Enfin quand je dis porter atteinte au serveur , je pense surtout aux données , les modifier à tort, aussi craindre que les temps de traitement deviennnent très lent ...
Pour la sécurité des données, le plus simple est de définir un compte dans SQL Server qui n'a que les droits de lecture comme cela plus aucun risque de modifications intempestives.

Pour la performance, là il va falloir que tu fasses des tests si possible sur une machine qui simule au plus proche ta machine de prod SQL Server ou directement sur celle-ci si tu ne peux vraiment pas faire autrement et voir ce qu'il se passe.

Si tu as fait toutes les requêtes en Access, le gros du travail (jointure, tri, affichage) va être fait par le poste qui roule l'appli et au travers du réseau SQL Server se contentant d'envoyer les données demandées par Access donc cela ne devrait pas vraiment chargé ta BD SQL Server.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2011, 09h11   #5
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 181
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 181
Points : 34
Points : 34
Salut marot_r

Je n'ai jamais crée de fichier .bat, purrais -tu me dire comment on en crée.
Je n'ai pas non plus de SQL server installé sur mon poste, j'ai juste accès aux tables sql server liées à access, comment faire alors pour créer un compte SQL Server?


Merci bien,

kedmard
kedmard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2011, 18h48   #6
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
Citation:
Envoyé par kedmard Voir le message
Je n'ai jamais crée de fichier .bat, purrais -tu me dire comment on en crée.
Un .bat est un .txt dont tu as changé l'extention. Ensuite tu y mets des commandes MS-DOS.

Par exemple pour appeler Access et une BD tu peux y mettre :

Code :
call "C:\TonCheminVersAccess\MSACCESS.EXE" "NomTaBD.mbd"
Citation:
Je n'ai pas non plus de SQL server installé sur mon poste, j'ai juste accès aux tables sql server liées à access, comment faire alors pour créer un compte SQL Server?
Il faut t'adresser au DBA (Data Base Administrator - Administrateur de Base de Données) qui gère la BD SLQ Server à laquelle tu te connectes et lui demander de le créer. Si c'est toi le DBA :-), alors pose ta question sur le forum MS SQL Server car je ne connais pas suffisement SQL Server pour t'aider.

Si enfin tu ne peux pas créer de compte, tu peux utiliser l'astuce suivante :
  • Créer une table "Verrou" contenant un seul champ et un seul enregistrement.
  • Faire une requête sur ta table source et sur la table "Verrou" sans jointure. Il n'est pas nécessaire d'afficher le champ de la table verrou, il faut simplement que la table soit là. Cela va faire ce qu'on appèle un produit croisé qui va mettre toutes les données affichées par la requête en mode Lecture seulement.
  • Ensuite tu te serts de la requête pour faire tes autres requêtes sans plus jamais utiliser la table.
C'est un peu moins bien qu'un compte en lecture seule mais c'est quand même une bonne protection contre les modifications intempestives. Pour renforcer la protection tu peux aussi cacher les tables liées.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/01/2012, 08h32   #7
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 181
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 181
Points : 34
Points : 34
Bonjour maro_r et bonne année 2012


Merci encore pour tous ces tuyaux , cependant pourrais -tu me dire sur quelle rubrique je peux poser des questions concernant les commandes MS-DOS notamment en ce qui concerne la syntaxe pour l'heure du "call" de la BDD access.

Merci encore.


Kedmard.
kedmard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 09h12   #8
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Homme Jean BALLAT
Inscription : octobre 2004
Messages : 2 856
Détails du profil
Informations personnelles :
Nom : Homme Jean BALLAT
Âge : 63
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : octobre 2004
Messages : 2 856
Points : 5 220
Points : 5 220


Il y a 2 tutos qui pourraient peut-être t'apporter quelques éclairages intéressants quant à l'objectif que tu veux atteindre :

Access et Fichiers Batch
Générer des tâches planifiées
avec dans ce tuto un chapitre en lien avec MS-DOS :

Bonne lecture
__________________
Jeannot

Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA

Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/01/2012, 12h03   #9
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
Hello,
et si bien sûr certains éléments restent obscurs malgré la lecture, n'hésite pas à nous poser tes questions
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 09h09   #10
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 181
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 181
Points : 34
Points : 34
Grand merci à vous Messieurs je me lance et s'il y a souci , je vous tiendrais
au courant, merci encore pour tout et bonne année 2012.
kedmard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 10h24   #11
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 181
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 181
Points : 34
Points : 34
Messieurs re-bonjour,

J'ai bien analysé le tutoriel sur la planification des tâches , il se trouve que sur vista les onglets diffèrent un peu de xp , on a par exemple sur vista "Action" au lieu de "Tâche" sur xp,etc si bien que je n'arrive pas à trouver l'onglet qui permettra d'imposer la plage d'heure c-à-d entre
00h00min et 23h59min pour la tâche journalière.

J'ai également souhaité que la tâche s'exécute même si je ne suis connecté mais à ce niveau j'ai un petit message qui me demande d'avoir le droits d'ouverture en tant que tâche.

Merci d'avance
kedmard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 22h10   #12
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
Je posterai cette question sur un forum dédié à Vista, cela n'a pas directement à faire avec Access.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h05.


 
 
 
 
Partenaires

Hébergement Web