OVH Cloud OVH Cloud

Problème sur une base en reseaux

2 réponses
Avatar
Denis Chenu / SAD-Marketing
Bonjour tout le monde !

Je vous explique mon problème.

J'ai programmer un outil sous ACCESS 97.

Ma base est fractionnée: une partie contient les données et une autre
l'outil en lui mème.

Il était prévu que la Base de données se situe sur un serveur et l'outil sur
les postes clients.
Cependant actuellement , la partie outil est située aussi sur le serveur.

La partie outil modifie par Macro VBA des requétes existantes de cette
facon.

Set db = DBEngine.Workspaces(0).Databases(0)
Set Qry = db.QueryDefs("qryTest3")
If Exist Then
db.QueryDefs.Delete "qryTest3"
End If
Set Qry = db.CreateQueryDef("qryTest3", SQLText)
Qry.Close
db.Close

ou SQLText est fabriqué précedemment.

Cependant, le fonctionnement s'est bien déroulé pendant plus d'une année
mais depuyis la mise en place d'une nouvelle base pour l'année 2003-2004,
les utilisteurs n'arréte pas de rencontrer des problème sur l'outil saisie.

Les problème sont multiples, il se passent sur les formulaires qui utilise
qryTest3 (il y'a 6 query de ce type)

Pour les plus courant: on a les message d'erreur suivants:

- L'enregistrement est supprimé (OK) en bnoucle lors de l'apparition des
graphes utilisant les requétes précédente.

- Plantage d'ACCESS avec Dr WATSON: violzation d'accés (0xc0000005). Adresse
: 0x0405cde3

- suite à une maintenance sur la base outil : une erreur de type -601 si je
me rappelle bien .

Il y a t'il une solution pour régler le problème.

Peut étre au niveau de la création de qryTest3.

Merci

2 réponses

Avatar
Xavier HUE
Bonjour Denis,

Plusieurs remarques:

1) Pourquoi détruire puis recréer ta requête?
Tu peux modifier directement la chaine SQL:
Set db = DBEngine.Workspaces(0).Databases(0)
Set Qry = db.QueryDefs("qryTest3")
If Exist Then
Qry.SourceSQL = SQL
Else
Set Qry = db.CreateQueryDef("qryTest3",
SQLText)
End If
Qry.Close
db.Close

2) L'outils étant partagé, qu'est-ce qui arrive si 2
utilisateurs lance la même opération (utilisation
simultanée de QryTest3)?!

3) As-tu essayé de réparer la base Outils?

Cordialement.
Avatar
D.Chenu
Merci Xavier, je vais modifié les macros pour les futures version,

Pour la question 2: c'est je pense, ce qui améne le problème,
J'ai effectué le test avec plusieurs utilisateur de connecté, ca passe sans
problème dans un premier temps, cependant comme la base est souvent buguée,
cela peut étre du à un problème multi-utilisateur.

Malheureusement c'est chez un client dont le SI ne veut pas trop compliquer
les procédures de déploiement.

J'ai effectué la réparation de la base outil.
Suite à cette réparation le message d'erreur change: c'est une erreur -601
ou qqchoise comme ca : sur support.microsoft: pour cette erreur , ils
indique un problème de ta
ble de fichier incrrecte: seule solution, reconstruire la base > comme j'ai
mes requéte en doublon sur l'outil: je supprime mes requéte et je reprend
les requéte de sauvegarde, ou je remplace directement l'outil.

Encore merci.



De : "Xavier HUE"
Groupes : microsoft.public.fr.access
Date : Fri, 10 Oct 2003 01:46:08 -0700
Objet : Problème sur une base en reseaux

Bonjour Denis,

Plusieurs remarques:

1) Pourquoi détruire puis recréer ta requête?
Tu peux modifier directement la chaine SQL:
Set db = DBEngine.Workspaces(0).Databases(0)
Set Qry = db.QueryDefs("qryTest3")
If Exist Then
Qry.SourceSQL = SQL
Else
Set Qry = db.CreateQueryDef("qryTest3",
SQLText)
End If
Qry.Close
db.Close

2) L'outils étant partagé, qu'est-ce qui arrive si 2
utilisateurs lance la même opération (utilisation
simultanée de QryTest3)?!

3) As-tu essayé de réparer la base Outils?

Cordialement.