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

Zone de liste déroulante et Num de réplication

3 réponses
Avatar
steph.theo
Bonjour,

Sous 2007, je souhaite cr=E9er une liste d=E9roulante de recherche
d'enregistrement sur un champ de type "N=B0 de r=E9plication" ( ayant
cette forme {0106FD36-F28A-4C3A-8E72-DE395C41C1F9} )

La macro incorpor=E9e cr=E9=E9e par l'assistant est :

RechercherEnregistrement
; ; Premier; =3D"[ID_OI] =3D " & Str(Nz(Screen.ActiveControl;0))

Hors Access me retourne une erreur incompatibilit=E9 de type 2950 quand
j'utilise ce controle ...

-1; ; Premier; =3D"[ID_OI] =3D " & Str(Nz(Screen.ActiveControl,0))

Pourriez vous me donner une solution =E0 ce probl=E8me?

Merci

Stef

3 réponses

Avatar
Gloops
a écrit, le 30/06/2008 09:39 :
Bonjour,

Sous 2007, je souhaite créer une liste déroulante de recherche
d'enregistrement sur un champ de type "N° de réplication" ( ayant
cette forme {0106FD36-F28A-4C3A-8E72-DE395C41C1F9} )



On appelle ça un GUID.

Sous Access je ne me rends pas bien compte, mais je sais que sous
Oracle, il faut encadrer un GUID non par des guillemets, mais des
apostrophes.

Mais dis-moi mais je me rends compte que tu n'as mis ni l'un ni l'autre !

Un GUID est une chaîne de caractères, il faut donc des séparateurs autour.

Les arguments de RechercherEnregistrement sont détaillés là (pareil ,
j'imagine, que dans l'aide en ligne) :

http://office.microsoft.com/fr-ch/access/HA012264581036.aspx

Note bien comment est fournie la description dans l'argument Where.

ça m'étonne un peu que tu n'aies pas une erreur 13, mais j'imagine qu e
c'est la même chose avec plus de précision.

___________________________________________________________________

La macro incorporée créée par l'assistant est :

RechercherEnregistrement
; ; Premier; ="[ID_OI] = " & Str(Nz(Screen.ActiveControl;0))

Hors Access me retourne une erreur incompatibilité de type 2950 quand
j'utilise ce controle ...

-1; ; Premier; ="[ID_OI] = " & Str(Nz(Screen.ActiveControl,0))

Pourriez vous me donner une solution à ce problème?

Merci

Stef





Avatar
steph.theo
Merci

Pour l'instant je cherche avec les fonctions de conversion
StringFromGUID ou GUIDFromString mais bon ça ne marche toujours
pas ...

Du coup j'utilise la liste déroulante de recherche sur un autre champ
qui lui contient du texte ...

Toujours est il que la condition where générée par l'assistant dans
access 2007 n'est pas très au point (dans le cas d'une recherche sur
le champ [TITLE] par rapport au contenu de [Screen].[ActiveControl]:

initialement c'est

"[TITLE] = " & "'" & [Screen].[ActiveControl] & "'"

Mais ca ne marche pas si mon champ texte contient des apostrophes ...
j'ai du modifier en :

"[TITLE] = " & "'" & Remplacer([Screen].[ActiveControl];"'";"''") &
"'"

Bref le changement d'assistant entre access 2003 et access 2007 n'est
pas vraiment une réussite je trouve
Avatar
Gloops
a écrit, le 02/07/2008 07:44 :
Merci

Pour l'instant je cherche avec les fonctions de conversion
StringFromGUID ou GUIDFromString mais bon ça ne marche toujours
pas ...




Peut-être que ceci t'aidera :

http://www.codyx.org/snippet_generer-guid-identifiant-unique_224.aspx

En fait par rapport à cette page j'ai un peu bidouillé les dimensions
(en mettant 76 et 75) pour éviter d'avoir un espace à la fin, enfin a u
pire on peut toujours l'enlever après.

Tu stockes le newGUID dans un champ de 38 caractères et ça baigne.



Du coup j'utilise la liste déroulante de recherche sur un autre champ
qui lui contient du texte ...

Toujours est il que la condition where générée par l'assistant da ns
access 2007 n'est pas très au point (dans le cas d'une recherche sur
le champ [TITLE] par rapport au contenu de [Screen].[ActiveControl]:

initialement c'est

"[TITLE] = " & "'" & [Screen].[ActiveControl] & "'"



Le recours à ActiveControl m'étonne, mais pourquoi pas ...


Mais ca ne marche pas si mon champ texte contient des apostrophes ...
j'ai du modifier en :

"[TITLE] = " & "'" & Remplacer([Screen].[ActiveControl];"'";"''") &
"'"



Ah, oui, ça, c'est un grand classique.


Bref le changement d'assistant entre access 2003 et access 2007 n'est
pas vraiment une réussite je trouve



Pas eu l'occasion d'essayer.