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 :

Fonction quitte à l'opération CurrentDb.OpenRecordset(strSql) [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Par défaut Fonction quitte à l'opération CurrentDb.OpenRecordset(strSql)
    Bonjour à tous !

    je développe un formulaire qui doit extraire les doublons dans une table.

    Pour se faire, je commence par déterminer le nombre de doublons
    (nombreDoublon = Select Sum(*) - Select Sum(Distinct *) )

    Je débute tout juste, mais déjà j'ai un soucis...

    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
    24
    Private Function SQLAll()
    On Error GoTo GestError
        ' ===== déclaration des variables =====
        Dim strSql As String
        Dim rst As DAO.Recordset
        ' ===== affectation =====
        strSql = "SELECT Sum(*) FROM Doublons ;"
        Set rst = CurrentDb.OpenRecordset(strSql)
        If rst.RecordCount = 0 Then
            SQLAll = "Pas de Données"
        Else
            SQLAll = rst("Somme")
        End If
        ' ===== libération =====
        rst.Close
        Set rst = Nothing
        Exit Function
     
    GestError:
     
        If Err.Number = 3061 Then
            MsgBox "Une des donnée entrée en paramètre est erronée", vbOKOnly + vbExclamation
        End If
    End Function
    Apparement la fonction s'arrette à l'opération Set rst = CurrentDb.OpenRecordset(strSql).

    Cette conclusion a été trouvé grâce à des MsgBox.

    Pouvez vous m'aidez svp?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    C'est ta chaine SQL, tu ne peux faire une somme avec *. Il faut désigner les champs.

    Philippe

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Par défaut réponse
    Merci de m'aider!

    j'ai remplacé le caractère * :

    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
    24
    25
    Private Function SQLAll()
    On Error GoTo GestError
        ' ===== déclaration des variables =====
        Dim strSql As String
        Dim rst As DAO.Recordset
        ' ===== affectation =====
        strSql = "SELECT Sum(NUM_BD) AS Somme FROM Doublons ;"
        Set rst = CurrentDb.OpenRecordset(strSql)
        MsgBox ("toto")
        If rst.RecordCount = 0 Then
            SQLAll = "Pas de Données"
        Else
            SQLAll = rst("Somme")
        End If
        ' ===== libération =====
        rst.Close
        Set rst = Nothing
        Exit Function
     
    GestError:
     
        If Err.Number = 3061 Then
            MsgBox "Une des donnée entrée en paramètre est erronée", vbOKOnly + vbExclamation
        End If
    End Function
    Mais le message "toto" ne s'affiche toujours pas ...
    Je ne comprens pas. L'attribut NUM_BD existe bien.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/12/2008, 12h21
  2. Quels fonctions pour ces opérations sur le réseau ?
    Par Pierre.g dans le forum Windows
    Réponses: 4
    Dernier message: 13/01/2007, 12h49
  3. Fonction quitte brusquement parfois ??
    Par Lideln dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 14/07/2006, 17h17
  4. Récupérer le numéroAuto après CurrentDb.Execute strSQL
    Par Tchupacabra dans le forum Access
    Réponses: 4
    Dernier message: 03/01/2006, 16h50
  5. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 17h46

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