Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2 fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données et
j'ai lu que le message pouvait venir d'un problème de précision différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2 fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données et
j'ai lu que le message pouvait venir d'un problème de précision différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2 fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données et
j'ai lu que le message pouvait venir d'un problème de précision différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es en
mode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères ton
recordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cette
même ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" et
autres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrement
est modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" a écrit
dans le message de
news:3fd84f9f$0$17127$Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL
Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
et
j'ai lu que le message pouvait venir d'un problème de précision
différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es en
mode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères ton
recordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cette
même ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" et
autres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrement
est modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" <jaimepaslespam_scandela@free.fr> a écrit
dans le message de
news:3fd84f9f$0$17127$626a54ce@news.free.fr...
Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL
Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
et
j'ai lu que le message pouvait venir d'un problème de précision
différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es en
mode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères ton
recordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cette
même ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" et
autres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrement
est modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" a écrit
dans le message de
news:3fd84f9f$0$17127$Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL
Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
et
j'ai lu que le message pouvait venir d'un problème de précision
différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es en
mode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères ton
recordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cette
même ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" et
autres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrement
est modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" a écrit
dans le message de
news:3fd84f9f$0$17127$Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL
Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
et
j'ai lu que le message pouvait venir d'un problème de précision
différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es en
mode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères ton
recordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cette
même ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" et
autres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrement
est modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" <jaimepaslespam_scandela@free.fr> a écrit
dans le message de
news:3fd84f9f$0$17127$626a54ce@news.free.fr...
Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL
Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
et
j'ai lu que le message pouvait venir d'un problème de précision
différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es en
mode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères ton
recordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cette
même ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" et
autres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrement
est modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" a écrit
dans le message de
news:3fd84f9f$0$17127$Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL
Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
et
j'ai lu que le message pouvait venir d'un problème de précision
différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Merci Jean Pierre,
J'utilise bien des tables SQL attachées (via ODBC)..
Pour les requery, j'en fais mais je veux éviter d'en faire de trop car ça
génère du traffic sur le réseau et ralentit sensiblement l'application... il
va peut être falloir que je trouve un moyen de résoudre ceci sans pénaliser
le temps de réponse.
Seb
"J-Pierre" a écrit dans le message de
news:Ov5p$S%Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es enmode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères tonrecordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cettemême ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" etautres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrementest modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst > me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" a écrit
dans le message denews:3fd84f9f$0$17127$Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problèmerécurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
parpersonne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
delock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement leverrouillage au niveau enregistrements avec mes tables attachées SQL
Server?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
etj'ai lu que le message pouvait venir d'un problème de précision
différenteentre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans lebon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Merci Jean Pierre,
J'utilise bien des tables SQL attachées (via ODBC)..
Pour les requery, j'en fais mais je veux éviter d'en faire de trop car ça
génère du traffic sur le réseau et ralentit sensiblement l'application... il
va peut être falloir que je trouve un moyen de résoudre ceci sans pénaliser
le temps de réponse.
Seb
"J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> a écrit dans le message de
news:Ov5p$S%23vDHA.2712@TK2MSFTNGP11.phx.gbl...
Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es en
mode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères ton
recordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cette
même ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" et
autres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrement
est modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst > me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" <jaimepaslespam_scandela@free.fr> a écrit
dans le message de
news:3fd84f9f$0$17127$626a54ce@news.free.fr...
Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,
les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problème
récurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
par
personne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
de
lock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement le
verrouillage au niveau enregistrements avec mes tables attachées SQL
Server
?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
et
j'ai lu que le message pouvait venir d'un problème de précision
différente
entre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans le
bon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb
Merci Jean Pierre,
J'utilise bien des tables SQL attachées (via ODBC)..
Pour les requery, j'en fais mais je veux éviter d'en faire de trop car ça
génère du traffic sur le réseau et ralentit sensiblement l'application... il
va peut être falloir que je trouve un moyen de résoudre ceci sans pénaliser
le temps de réponse.
Seb
"J-Pierre" a écrit dans le message de
news:Ov5p$S%Bonjour,
Pour confirmation, utilises-tu des tables SQL attachées ou un projet ADP ?
Ton problème pourrait provenir du fait que le recordset de ton formulaire
contient toutes les lignes de ta table, même si tu es enmode unique (afficher une ligne à la fois), car c'est la technique
normalement utilisée avec Access. Autrement dit, tu récupères tonrecordset avec par exemple 5000 lignes, 10 minutes plus tard, tu modifies
une ligne, manque de pot, entretemps, un autre a mis cettemême ligne à jour.....
Autre possibilité, quand tu mets une ligne à jour, tu ne fais pas de
requery de la source.
Pour autant que je sache, il n'y a pas de verrouillage d'enregistrement au
niveau d'Access sauf par code VBA "adLockPessimistic" etautres. (Ce qui serait extrêment pénalisant si tous les enregistrements
étaient verrouillés dès la lecture). Quand un enregistrementest modifié, SQL répond OK ou bien déjà modifié par un autre.
Il semble qu'il y ait des problèmes de MAJ avec ADP si tu "SET rst > me.recordsetclone" et que tu parcours les lignes de rst.
Et j'en oublie sans doute....
J-Pierre
"Asarus (Sebastien Candela)" a écrit
dans le message denews:3fd84f9f$0$17127$Bonjour,
J'ai pas mal cherché dans les archives mais je préfère vous poser la
question directement ;-)
Je suis en train de migrer mon appli Access 2000 (partagée en 2
fichiers,les données et les tables) sous SQL Server. Nous sommes environ 10
utilisateurs dessus.
Suite à cette migration, j'ai procédé à quelques tests et j'ai un
problèmerécurrent. A plusieurs sur la base, j'obtiens très souvent (5 à 10 fois
parpersonne pendant un test de 30 minutes) le message "les données ont été
modifiées" et parfois la même chose mais avec l'erreur 7878
J'ai vérifié et personne n'utilisait le même enregistrement au même
moment.
Suite à ma recherche, j'ai positionné tous mes formulaires sur le mode
delock "enregistrement modifié" mais dixit l'aide en ligne ceci n'est pas
valable pour des tables attachées via ODBC (ce qui est mon cas).
A votre avis quelle est la bonne manière de faire pour gérer
correctement leverrouillage au niveau enregistrements avec mes tables attachées SQL
Server?
De plus, j'ai des champs "date" et des champs "heure" parmi mes données
etj'ai lu que le message pouvait venir d'un problème de précision
différenteentre access et sql server. Ce qui laisserait croire à Access que les
données ont été modifiées alors qu'il ne s'agit que d'une conversion
dans lebon format par le système. Qu'en pensez vous ?
Merci d'avance ;-)
Seb