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

Compatibilité Access 2000 entre Windows 98 et Windows XP

2 réponses
Avatar
Michel Lauzon
Bonjour,

Une question concernant la portabilité des applications Access. J'ai une
base de donnée, avec macro et code visual basic intégré, que j'ai créé sous
Windows 98 et Office 2000 (anglais). J'ai transporté la base de donnée sur
une nouvelle machine Windows XP et Office 2000 (anglais) et certains filtres
(de formulaires et d'états) ne fonctionnent plus. Pourtant ces mêmes filtres
fonctionnent sur ma machine Windows XP (français) et Access XP (français).

Toutes les mise à jours Microsoft sont faites autan sur Windows que Office.

Comme on me l'avait proposé j'ai recompiler le code VB et cela n'a rien
changé.

Nature du problème, après vérification c'est une procédure qui applique un
filtre à un formulaire en provenance d'une liste dans l'entête de ce
formulaire: Ou Md30 est la liste modifiable. Cette procédure ou ce type de
filtrage est utlisé sur quatre formulaires et les quatre formulaires ne
réponde plus.

Private Sub Md30_AfterUpdate()
ActiverContrôles Me, acDetail, False
DoCmd.ApplyFilter , "[RefInscription] = Forms![Activities]![Md30]"
Me![Commande47].Enabled = True
Me![RefType].Enabled = True
Me![RefType].SetFocus
End Sub

J'ai essayé de le modifier pour cette version sans plus de succès.!!!

Me.Filter = "[RefInscription] = Forms![Activities]![Md30]"
Me.FilterOn = True


Comme je l'ai déjà dis cela fonctionne sur plusieurs machines mais pas sur
celle qui roule sous Windows XP Home Edition (anglais) et Office 2000
(anglais)????


--
Michel Lauzon
m.lauzon@UMontreal.CA

2 réponses

Avatar
Michel Walsh
Salut,


Je suspecte un problème de virgule/point décimal, surtout si Md30
est un nombre avec point (virgule) décimale. Si tel est le cas, évidemment,
la virgule est, peut être, internement comprise comme séparateur de liste
et:

champ= 4, 5

est une erreur de syntaxe, si on désire

champ= 4.5


Il est irrelevant que le 5 soit collé sur la virgule, ou non, dans une
liste.


Si tel est le cas, utiliser:

Me.Filter = "[RefInscription] = " & Replace(Forms![Activities]![Md30], ",",
""." )



Autrement, se peut-il que Md30 soit NULL. C'est également une erreur de
dire:



champ

ce qui se passe si il n'y a rien dans le controle. Si tel est le cas,
faire


If IsNull( Forms!Activities!Md30.Value) Then
Else
Me.Filter= ...
End If



dans ce cas, le problème dépend plus de l'état dans lequel on est que de
la machine elle-même.




Espérant être utile,
Vanderghast, Access MVP



"Michel Lauzon" wrote in message
news:AJxTb.13395$
Bonjour,

Une question concernant la portabilité des applications Access. J'ai une
base de donnée, avec macro et code visual basic intégré, que j'ai créé
sous

Windows 98 et Office 2000 (anglais). J'ai transporté la base de donnée sur
une nouvelle machine Windows XP et Office 2000 (anglais) et certains
filtres

(de formulaires et d'états) ne fonctionnent plus. Pourtant ces mêmes
filtres

fonctionnent sur ma machine Windows XP (français) et Access XP (français).

Toutes les mise à jours Microsoft sont faites autan sur Windows que
Office.


Comme on me l'avait proposé j'ai recompiler le code VB et cela n'a rien
changé.

Nature du problème, après vérification c'est une procédure qui applique un
filtre à un formulaire en provenance d'une liste dans l'entête de ce
formulaire: Ou Md30 est la liste modifiable. Cette procédure ou ce type de
filtrage est utlisé sur quatre formulaires et les quatre formulaires ne
réponde plus.

Private Sub Md30_AfterUpdate()
ActiverContrôles Me, acDetail, False
DoCmd.ApplyFilter , "[RefInscription] = Forms![Activities]![Md30]"
Me![Commande47].Enabled = True
Me![RefType].Enabled = True
Me![RefType].SetFocus
End Sub

J'ai essayé de le modifier pour cette version sans plus de succès.!!!

Me.Filter = "[RefInscription] = Forms![Activities]![Md30]"
Me.FilterOn = True


Comme je l'ai déjà dis cela fonctionne sur plusieurs machines mais pas sur
celle qui roule sous Windows XP Home Edition (anglais) et Office 2000
(anglais)????


--
Michel Lauzon





Avatar
Michel Lauzon
Md30 est un entier long et il n'est pas Null.

Le formulaire s'initialise la première fois que je l'utilise Md30 (porte
d'accès à mon formulaire) mais normalement lorsque je modifie le contenue de
Md30 j'applique le filtre sur le formulaire mais il conserve la même valeur
ou du moins le filtre ne s'applique pas...!!!...



"Michel Walsh" a écrit dans le message
de news:
Salut,


Je suspecte un problème de virgule/point décimal, surtout si Md30
est un nombre avec point (virgule) décimale. Si tel est le cas,
évidemment,

la virgule est, peut être, internement comprise comme séparateur de liste
et:

champ= 4, 5

est une erreur de syntaxe, si on désire

champ= 4.5


Il est irrelevant que le 5 soit collé sur la virgule, ou non, dans une
liste.


Si tel est le cas, utiliser:

Me.Filter = "[RefInscription] = " & Replace(Forms![Activities]![Md30],
",",

""." )



Autrement, se peut-il que Md30 soit NULL. C'est également une erreur
de

dire:



champ >

ce qui se passe si il n'y a rien dans le controle. Si tel est le cas,
faire


If IsNull( Forms!Activities!Md30.Value) Then
Else
Me.Filter= ...
End If



dans ce cas, le problème dépend plus de l'état dans lequel on est que
de

la machine elle-même.




Espérant être utile,
Vanderghast, Access MVP



"Michel Lauzon" wrote in message
news:AJxTb.13395$
Bonjour,

Une question concernant la portabilité des applications Access. J'ai une
base de donnée, avec macro et code visual basic intégré, que j'ai créé
sous

Windows 98 et Office 2000 (anglais). J'ai transporté la base de donnée
sur


une nouvelle machine Windows XP et Office 2000 (anglais) et certains
filtres

(de formulaires et d'états) ne fonctionnent plus. Pourtant ces mêmes
filtres

fonctionnent sur ma machine Windows XP (français) et Access XP
(français).



Toutes les mise à jours Microsoft sont faites autan sur Windows que
Office.


Comme on me l'avait proposé j'ai recompiler le code VB et cela n'a rien
changé.

Nature du problème, après vérification c'est une procédure qui applique
un


filtre à un formulaire en provenance d'une liste dans l'entête de ce
formulaire: Ou Md30 est la liste modifiable. Cette procédure ou ce type
de


filtrage est utlisé sur quatre formulaires et les quatre formulaires ne
réponde plus.

Private Sub Md30_AfterUpdate()
ActiverContrôles Me, acDetail, False
DoCmd.ApplyFilter , "[RefInscription] = Forms![Activities]![Md30]"
Me![Commande47].Enabled = True
Me![RefType].Enabled = True
Me![RefType].SetFocus
End Sub

J'ai essayé de le modifier pour cette version sans plus de succès.!!!

Me.Filter = "[RefInscription] = Forms![Activities]![Md30]"
Me.FilterOn = True


Comme je l'ai déjà dis cela fonctionne sur plusieurs machines mais pas
sur


celle qui roule sous Windows XP Home Edition (anglais) et Office 2000
(anglais)????


--
Michel Lauzon