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

VBA Access Discussion :

fromulaire qui s'ouvre en fonction du résultat d'une requête


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 99
    Points : 61
    Points
    61
    Par défaut fromulaire qui s'ouvre en fonction du résultat d'une requête
    Bonjour,

    Je pense que mon post sera mieux sur ce forum-ci.

    Dans VBA, je désire ouvrir un formulaire uniquement si le résultat d'une requête SQL est non vide.
    J'ai essayé par le code suivant, mais cela ne fonctionne pas correctement.
    Quelqu'un à un autre diée?

    Merci d'avance

    Voici grosso modo mon code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Code :
    SQL = "blabla"
    Set maReq = myBD.CreateQueryDef(myQuery, SQL)
    If ContientElements(myQuery) = true then ...
    La fonction ContientElements est une fonction que j'ai définie dans le Module de la base Access


    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function ContientElements(ByVal strSQL As Variant) As Boolean
     
    Dim indice As Long
     
    On Error GoTo vide
    indice = UBound(strSQL)
    ContientElements = True
    Exit Function
     
    vide:
     
    End Function

  2. #2
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 99
    Points : 61
    Points
    61
    Par défaut
    J'ai trouvé une solution toute simple via la fonction Dcount :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL = "blabla"
        Set maReq = myBD.CreateQueryDef(myQuery, SQL)
        nb = DCount("*", query)
     
       If nb <> 0 Then...
    Ainsi ça marche

  3. #3
    Membre averti Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Points : 368
    Points
    368
    Par défaut
    Je ne comprends pas bien ta fonction ContientElements

    Tu veux savoir si ta requête te retourne des résultats ou non, n'est-ce pas ?

    Dans ce cas, moi je ne fais pas comme ca.

    Je fais plutôt comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Dim oRst As Adodb.Recordset
    Dim cnx As Adodb.Connection
     
    Dim SQL As String
     
    SQL = "ta requete sql"
     
    'On utilise la database courante
    Set cnx = CurrentProject.Connection
     
    Set oRst = New Adodb.Recordset
     
    oRst.Open SQL, cnx, adOpenDynamic
    If oRst.EOF = False Then
    'Ca te retourne quelque chose donc ouverture de ton formulaire
    DoCmd.openForm "nom de ton formulaire"
    End If 
    Libération des objets
    oRst.Close
    cnx.Close
    Set oRst = Nothing
    Set cnx = Nothing

    [EDIT]Ah t'as été plus rapide que moi ![/EDIT]
    Si ton labeur est dur et que tes résultats sont minces, rappelles-toi qu'un jour, le grand chêne a été un gland comme toi !

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 99
    Points : 61
    Points
    61
    Par défaut
    Merci quand même !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Ouverture d'un formulaire en fonction du résultat d'une requête SQL
    Par Alsvghn dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/08/2013, 17h13
  2. [Toutes versions] Créer un état mis en forme en fonction des résultats d'une requête
    Par Rodrigue dans le forum IHM
    Réponses: 1
    Dernier message: 19/11/2010, 09h07
  3. [AC-2003] Valider un formulaire en fonction du résultat d'une requête
    Par Soulq dans le forum VBA Access
    Réponses: 0
    Dernier message: 17/06/2009, 12h06
  4. Verrouillage d'un formulaire en fonction du résultat d'une requête
    Par jaknichan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 02/01/2008, 10h10
  5. Réponses: 6
    Dernier message: 25/09/2006, 14h11

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