none
Fonctions Visual Basc dans États et Formulaires RRS feed

  • Question

  • Bonjour

    Par exemple j'ai une valeur quelconque dans un champs "Exemple de code" et je veux extraire les 4 derniers caractères: droite([nom du cham];4) et Access 2003 me donne comme message d'erreur: Le module Visual Basic comporte une erreur de syntaxe. En fait je ne peux utiliser aucune fonction de manipulation de texte, ni une fonction que j'ai créé, j'ai toujours le même message d'erreur.

    Ça doit être encore un fichu problème de sécurité, si vous avec une solution ce serait apprécié.

    J'ai Office 1997 et je veux me mettre à jour mais Office 2003,2007 et 2010 ne veulent rien savoir d'un fichier que j'ai programmé avec Office 1997.

     

    Merci à l'avance

    dimanche 21 novembre 2010 23:12

Toutes les réponses

  • Bonjour,

    Sous VBA, avez vous penser à écrire vos fonction en anglais, Right$() pour Droite() par exemple.

    Pour utiliser votre base de données 97 sous une version ultérieure, il serait peut être utile de la convertir vers cette nouvelle version. Dans cette éventualité, je vous conseil d'abord de parcourir l'article d'Allen Browne qui traite du sujet "Converting from Access 97".


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users
    lundi 22 novembre 2010 08:36
  • Bonjour MehdiH

    Non seulement j'ai essayé les termes anglais mais c'était même mon premier réflexe et comme ça ne fonctionnait pas j'ai essayé en français. C'est comme la fonction très pratique RechDom que j'utilisais dans des requêtes dans Access 97, et bien ça me donne un message d'erreur, le même que pour Right, Right$, Droite, Droite$, etc... Pourtant je travaille sur une nouvelle base dans Access 2003 et ça ne fonctionne pas plus. J'ai désactivé SandBox au complet et rien n'y fait.

    Là j'en ai "plein mon casque" comme on dit chez nous au Québec, je lâche Access pour de bon.

     

    Christian

    lundi 22 novembre 2010 13:23
  • Bonjour Christian,

    Avez-vous tenté de réécrire vos formules à partir du générateur d'expression ?
     


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users
    lundi 22 novembre 2010 15:46
  • Bonjour Christian,

    Une erreur sur ces mots-clés est typique d'un mauvais référencement.
    Dans l'IDE de VBA (ALT + F11), allez dans Outils, Références et corrigez la ou les références "MANQUANTE"s

    Essayez avant de lacher prise
    (chez nous on dit "plein le cul")

    Cdr,
    Blaise

    <Christian Boutin> a écrit dans le message de news: aa1db8cf-9bea-45b9-8b19-976ad2451576@communitybridge.codeplex.com...

    Bonjour MehdiH

    Non seulement j'ai essayé les termes anglais mais c'était même mon premier réflexe et comme ça ne fonctionnait pas j'ai essayé en français. C'est comme la fonction très pratique RechDom que j'utilisais dans des requêtes dans Access 97, et bien ça me donne un message d'erreur, le même que pour Right, Right$, Droite, Droite$, etc... Pourtant je travaille sur une nouvelle base dans Access 2003 et ça ne fonctionne pas plus. J'ai désactivé SandBox au complet et rien n'y fait.

    Là j'en ai "plein mon casque" comme on dit chez nous au Québec, je lâche Access pour de bon.



    Christian

    lundi 22 novembre 2010 16:37
  • Bonjour Christian,

    Avez-vous tenté de réécrire vos formules à partir du générateur d'expression ?
     


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users


    Bonjour,

    Quand j'ai vu que ça ne fonctionnait pas j'ai essayé avec le générateur d'expression pour être certain de ma syntaxe, le pire c'est que je voie ces fameuses commandes avec le générateur d'expression, mais ça ne fonctionne pas.

    lundi 22 novembre 2010 21:43
  • Bonjour Christian,

    Une erreur sur ces mots-clés est typique d'un mauvais référencement.
    Dans l'IDE de VBA (ALT + F11), allez dans Outils, Références et corrigez la ou les références "MANQUANTE"s

    Essayez avant de lacher prise
    (chez nous on dit "plein le cul")

    Cdr,
    Blaise

    <Christian Boutin> a écrit dans le message de news: aa1db8cf-9bea-45b9-8b19-976ad2451576@communitybridge.codeplex.com...

    Bonjour MehdiH

    Non seulement j'ai essayé les termes anglais mais c'était même mon premier réflexe et comme ça ne fonctionnait pas j'ai essayé en français. C'est comme la fonction très pratique RechDom que j'utilisais dans des requêtes dans Access 97, et bien ça me donne un message d'erreur, le même que pour Right, Right$, Droite, Droite$, etc... Pourtant je travaille sur une nouvelle base dans Access 2003 et ça ne fonctionne pas plus. J'ai désactivé SandBox au complet et rien n'y fait.

    Là j'en ai "plein mon casque" comme on dit chez nous au Québec, je lâche Access pour de bon.



    Christian


    Bonjour,

    J'ai vu sur Internet ce truc que j'ai essayé, et il n'y a pas de références manquantes.

    lundi 22 novembre 2010 21:45
  • Bonjour Christian,

    Avez-vous tenté de réécrire vos formules à partir du générateur d'expression ?
     


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users


    J'ai installé Access 2003 sur mon portable, une installation à neuf car Office n'a jamais été installé sur ce portable, j'ai aussi installé sur mon ordi de bureau qui roule avec Windows 7 mais dans le mode Windows XP de Windows 7, il n'y avait jamais eu de Office dans mon mode Windows XP. Dans les deux cas ça n'a rien donné. Le pire dans tout ça c'est que je suis intéressé à acheter Access 2010 mais chez Microsoft on refuse de me donner le soutien pour mon Office 97 versus Office 2010 et on ne peut me garantir que ça fonctionnera correctement dans Access 2010.

    J'ai installé des version d'essai de 30 jours et aussi une version pirate, au cas où, mais là encore rien à faire et j'insiste je suis prêt à mettre à jour mon Access 97 pour un Access 2010, mais pas la suite Office au complet, seulement Access.

    lundi 22 novembre 2010 22:07
  • Re,

    Est-ce que dans la version 2003 sur votre portable, vous pouvez créer une base avec du VBA ?

    Si oui, commencez par importer les tables et requêtes, puis testez.
    Continuez ensuite avec les rapports et idem piur les macros.
    Puis les formulaires un par un et test à chaque fois.
    Terminez avec les modules.

    si non, je ne sais pas.

    Bon courage,

    Blaise.

    mardi 23 novembre 2010 16:19
  • Une autre idée :
    Est-que la base est bien en format 97.
    N'y avait-il pas en v 97 un mode compatibilité avec des versions antérieures ? (je ne sais plus, cela fait longtemps) et dès lors d'abord convertir sous windows XP en 97, puis après en 2000, puis en Win Seven et Access 2010.

    Bon courage,
    Blaise

    http://support.microsoft.com/kb/141296/fr
    http://www.developpez.net/forums/d268780/logiciels/microsoft-office/access/compatibilite-code-entre-access-97-2003-a/

    mardi 23 novembre 2010 16:33
  • Une autre idée :
    Est-que la base est bien en format 97.
    N'y avait-il pas en v 97 un mode compatibilité avec des versions antérieures ? (je ne sais plus, cela fait longtemps) et dès lors d'abord convertir sous windows XP en 97, puis après en 2000, puis en Win Seven et Access 2010.

    Bon courage,
    Blaise

    http://support.microsoft.com/kb/141296/fr
    http://www.developpez.net/forums/d268780/logiciels/microsoft-office/access/compatibilite-code-entre-access-97-2003-a/


    Bonjour Blaise,

    Merci pour tes efforts à vouloir m'aider. Le "seul" problème que j'ai entre la version 97 de ma base et les autres versions ce sont toutes les macro commandes que Microsoft a bloqué pour raison de sécurité, j'utilise plusieurs de ces macro commandes dans mon fichier Access 97 sinon aucum problème à ouvrir ma base Access 97 dans Access 2003, 2007 ou 2010. Aussi des fonctions qui ne sont pas reconnus.

    Mon problème actuel c'est que je ne suis pas capable d'utiliser des fonctions telles que: droite, droite$, RechDom, etc. Ça me donne le message d'erreur dont j'ai déjà fait état. J'ai ce problème même si je crée une toute nouvelle base.

    Pour l'instant je n'ai pas le temps, et aussi ça ne me tente plus vraiment, de continuer à essayer de régler ce problème. Je prend un "brake".

    Merci encore

    Christian

    vendredi 26 novembre 2010 12:38

  • <Christian Boutin> a écrit dans le message de news: 0dd199cd-9a10-45f1-b411-b29f5abb56e9@communitybridge.codeplex.com...

    . J'ai ce problème même si je crée une toute nouvelle base.

    Alors réparez ou réinstallez

    Pour l'instant je n'ai pas le temps, et aussi ça ne me tente plus vraiment, de continuer à essayer de régler ce problème. Je prend un "brake".

    Merci encore

    Christian

    Bon break

    vendredi 26 novembre 2010 16:23
  • Ce n'est pas vraiment clair à quel endroit exactement vous voulez utiliser cette expression: dans un module VBA, comme "Control Source" d'un contrôle texte dans un formulaire ou directement dans la requête SQL?

    Généralement, pour des expressions complexes, il est souvent plus avantageux de mettre l'expression directement dans la requête SQL; genre:

        Select Right (Field1, 4) as RField1, ...

    Dans le cas d'un contrôle de texte, vous ne devez pas oublier de mettre le signe d'égalité au début:

        = Right ([Field1]; 4)

    De plus, selon les settings dans les paramètres régionaux de votre machine pour le séparateur de liste, il est possible que vous ayez à utiliser la virgule en lieu et place du point-virgule dans le cas des contrôles de texte afin de séparer vos deux arguments:

        = Right ([Field1], 4)

    Pour le reste, vérifiez bien vos références pour être sûr qu'il n'y a pas de référence manquante.  Aussi - et c'est très important - vous pouvez avoir des problèmes si vous copiez votre fichier de base de données sur une autre machine qui va contenir une version différente d'Access ou de Windows.  Dans ce cas, il est fortement suggéré de décompiler votre fichier sur la machine cible avant de l'utiliser.


    Sylvain Lafontaine, ing.
    MVP - Access
    Blog/web site: http://coding-paparazzi.sylvainlafontaine.com
    Independent consultant and remote programming for Access and SQL-Server (French)

    <Christian Boutin> wrote in message news:64ced51c-7d32-4ecd-b3d9-6a1518f62e5a@communitybridge.codeplex.com...

    Bonjour

    Par exemple j'ai une valeur quelconque dans un champs "Exemple de code" et je veux extraire les 4 derniers caractères: droite([nom du cham];4) et Access 2003 me donne comme message d'erreur: Le module Visual Basic comporte une erreur de syntaxe. En fait je ne peux utiliser aucune fonction de manipulation de texte, ni une fonction que j'ai créé, j'ai toujours le même message d'erreur.

    Ça doit être encore un fichu problème de sécurité, si vous avec une solution ce serait apprécié.

    J'ai Office 1997 et je veux me mettre à jour mais Office 2003,2007 et 2010 ne veulent rien savoir d'un fichier que j'ai programmé avec Office 1997.



    Merci à l'avance

    dimanche 2 janvier 2011 00:46