IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Requête non fonctionnelle après sauvegarde


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 191
    Points : 200
    Points
    200
    Par défaut Requête non fonctionnelle après sauvegarde
    Bonjour à tous,

    je suis face à un problème étrange depuis quelques jours...

    Je travaille sur une base de données Access programmée il y a plusieurs année (je ne connais pas la version d'origine, mais probablement ~ 2007). Je travaille aujourd'hui dans Access 365 version francophone. Tout fonctionne bien (table, requêtes, formulaires, etc.), sauf si j'ai le malheur de sauvegarder une requête en mode création, même si je n'ai fait aucune modification.

    Suite à une sauvegarde, les champs contenants une requête simple du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    champ1: VraiFaux(EstNull([tableRef].[champRef1],0,[tableRef].[champRef1])
    me retourne l'erreur "Nom de fonction <> non défini dans l'expression (erreur 3085)".

    Le plus étrange est que tout fonctionne bien (même si je mets à jour des tables par exemple) tant et aussi longtemps que je ne sauvegarde pas la requête.

    J'ai vérifié les points suivants:
    • Compacter et réparer la base de données
    • Les liaisons sont présentes
    • Tous les champs sont numériques
    • J'utilise une version 32 bits


    Le même type de "bug" existe dans mes formulaires où le champ devient "#nom?" si je sauvegarde le formulaire en mode création...

    Voyez-vous une piste à essayer autre que de tout transférer dans une nouvelle base de données?

    Merci!

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    Est-ce la seule base où cela se manifeste ?
    Si oui
    • Vérifier si tu n'as pas une référence brisée, ça peut faire ce genre d'effet.
      Si oui, voir si tu peux l'éliminer, parfois on importe des objets dont on n'a pas besoin au final.
      Sinon voir si tu peux la brancher sur une version que tu as.
    • Faire un Decompile de la BD après avoir fait une sauvegarde par sécurité.
      http://www.fmsinc.com/microsoftacces.../decompile.asp
    • Créer une base de données vierge et importer TOUS les objets depuis la BD défaillante.
      Ça prend quelques minutes.


    A+

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 810
    Points : 14 891
    Points
    14 891
    Par défaut
    bonjour,
    il manquait une parenthèse à la fin de la fonction EstNull() est-ce un oubli ? en plus, il faudrait point-virgule ";" à la place de virgule "," dans les interfaces de création: requêtes, formulaires états ... donc pas SQL, ni VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    champ1: VraiFaux(EstNull([tableRef].[champRef1]);0;[tableRef].[champRef1])
    Je travaille aujourd'hui dans Access 365 version francophone.
    était-ce une version anglophone auparavant ? c'est peut-être la cause du souci

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 191
    Points : 200
    Points
    200
    Par défaut
    Merci marot_r, je mets ce lien dans mes favoris! Décompiler et recompiler m'a permis d'éliminer tous les problèmes "#nom?# dans mes formulaires.

    Il ne me reste plus qu'à fouiller un peu pour la fonction dans le requête.

    il manquait une parenthèse à la fin de la fonction EstNull() est-ce un oubli ? en plus, il faudrait point-virgule ";" à la place de virgule "," dans les interfaces de création: requêtes, formulaires états ... donc pas SQL, ni VBA
    La parenthèse était effectivement un oubli dans mon message, mais elle apparaît dans le code. Pour les "," vs ";", je croyais que c'était bien "," pour les versions francophone? (le ";" me génère une erreur)

    était-ce une version anglophone auparavant ?
    Ça semble avoir toujours été des versions francophones (aussi loin que je puisse remonter...).

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Le séparateur de paramètres dépend des paramètres régionaux de la machine.
    Donc si tu as des paramètres Anglais Canada ou USA alors ce sera une virgule (,).
    Avec les paramètres en Canada Français, ce sera un point virgule (.
    Aussi dans le code VBA ou SQL c'est TOUJOURS une virgule.
    Et cela ne conditionne pas la langue de ton Office, moi par exemple j'ai USA sur mon poste mais tous mes menus sont en français.
    A+

Discussions similaires

  1. Interface non fonctionnelle après compilation
    Par Pierre B. dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 30/05/2012, 10h39
  2. [AC-2007] Fonction de suppression de requête non fonctionnelle
    Par facedeharicot dans le forum VBA Access
    Réponses: 9
    Dernier message: 26/07/2011, 11h49
  3. Plugin non fonctionnel après requête AJAX
    Par florianlyon dans le forum jQuery
    Réponses: 8
    Dernier message: 05/07/2011, 08h56
  4. [Flex3] linkbutton non fonctionnel après EXPORT de l'application
    Par DBA_OCP dans le forum Flex
    Réponses: 5
    Dernier message: 20/12/2010, 15h52
  5. Réponses: 1
    Dernier message: 21/11/2008, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo