0
votes

Définir la valeur par défaut de la zone de texte sur le résultat de la requête VBA

J'ai trouvé cet article Définir la valeur par défaut de la zone de texte vers Résultat de la requête J'essaie d'utiliser le code suivant, mais je continue à obtenir une erreur. Le nom de la requête est maxnote, puis le champ réduit dans la requête est maxnote. xxx


2 commentaires

En lien vu, l'utilisation de la fonction DLOOKUP a un score maximal? Peut-être que vous devriez essayer cela? Sinon, vous n'avez pas fourni de message d'erreur et de description d'erreur?


Il affiche #Error dans la valeur par défaut lorsque le formulaire est exécuté ...


3 Réponses :


0
votes
Public Function MaxNote()
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("MaxNote") 
    rst.MoveFirst
    MaxNote = rst.Fields("MaxNote")
End Function

Try this, if you prefer rst opening, instead of DLookup 

2 commentaires

BloustSet vide augmente une erreur sur .MoveFirst , ce qui n'est pas manipulé.


Cela signifie qu'il n'y a pas de records dans la TVD. Trop d'hypothèses pour cette approche



1
votes

Utilisez dlookup pour de telles tâches simples, et note que DefaultValue est un texte et utilisez nz si maxnote peut être null : xxx


2 commentaires

Merci Gustav! J'ai ceci pour travailler! Je mets = ltrim (nz (str (dlookup ("maxnote", "maxnote")))) Dans la propriété Valeur par défaut pour ma zone de texte.


Oui, cela fonctionnera la même chose. Si vous le sentez, veuillez indiquer comme réponse.



0
votes

ici un sur erreur CV Suivant code> peut être utile car une erreur indique un résultat vide.

Public Function MaxNote() as Variant
       MaxNote = "" ' default return value for not records found. Can be NULL or 0 too
   On Error Resume Next ' if lookup fails code resumes next line, what is End Function (nothing happens)
       MaxNote = CurrentDb.OpenRecordset("MaxNote").Fields("MaxNote") ' fetch the field from first row of recordset (standard after .OpenRecordSet() ), if no results an error is raised, but function resumes next line of code, what ends the function and still with MaxNote = "", the value if no records are found
End Function


0 commentaires