Valeur par défaut issue d'une requête [Access-formulaire] - VB/VBA/VBS - Programmation
Marsh Posté le 15-05-2007 à 13:21:04
Il ne suffirait pas d'ajouter la fonction DLookup appliquée à ta requête et ton champ ?
Je ne me souviens plus de la syntaxe exacte mais un truc du genre :
=DLookUp("DReclamation_Prochain_Id", "Id" )
Marsh Posté le 15-05-2007 à 15:28:17
tegu a écrit : Il ne suffirait pas d'ajouter la fonction DLookup appliquée à ta requête et ton champ ? |
Je ne la connaissais pas.
Elle a l'air intéressante donc là je cherche à l'appliquer à mon cas. Mais j'ai toujours une erreur de syntaxe. Je l'ai essayée dans tous les sens mais impossible de l'utiliser .
Si quelqu'un a une autre idée...
PS: en fait elle n'a pas l'air de pouvoir être utilisée dans le générateur d'expression proposé par Access... Il ne la propose nulle part.
En fait, c'est mon évaluation d'expression qui pose problème, le 0 est affiché parce qu'il faut afficher un nombre, ce n'est pas le résultat qui est calculé.
Marsh Posté le 15-05-2007 à 17:05:54
Finalement, j'ai fait autrement (modification de ma structure, donc je n'utilise plus la valeur par défaut)
Mais il se pourrait que j'en ai besoin par la suite, donc si quelqu'un pense avoir une solution, merci de la poster.
salut
Marsh Posté le 15-05-2007 à 11:51:38
Bonjour
Je suis en train de faire un formulaire (sous Access 2003) où je souhaite mettre en évidence l'identifiant de l'enregistrement (attribut et clé primaire de ma table) dans une case.
Ma requête est la suivante : je recherche l'identifiant maximum actuellement dans la table et je lui rajoute 1 pour que cela devienne le prochaine identifiant.
En SQL:
SELECT max(DReclamation.Identifiant)+1 AS Id
FROM DReclamation;
Dans les propriétés de ma case où j'affiche l'identifiant de l'enregistrement en cours, j'ai mis cela en tant que "valeur par défaut" : =[DReclamation_Prochain_Id]![Id]
et "source contrôle" : Identifiant (l'attribut correspondant dans ma table)
Ceci affiche sans problème l'identifiant de l'enregistrement actuellement visualisé dans le formulaire.
MAIS lorsque je souhaite créer un nouvel enregistrement, il m'affiche 0 (et non le max+1 de ma requête).
NB: ma requête fonctionne parfaitement lorsque je l'exécute à partir d'Access.
NB2: Aucun VB/VBA n'est utilisé pour le formulaire
Message édité par Nymerion le 15-05-2007 à 12:59:36