Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2011, 14h09   #1
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
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 :
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?
pikameuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 14h21   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 615
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 615
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

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

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/06/2011, 14h29   #3
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
Par défaut réponse

Merci de m'aider!

j'ai remplacé le caractère * :

Code :
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.
pikameuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 08h33   #4
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 615
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 615
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

As-tu d'abord testé ta requête dans le requêteur d'Access (QBE) ?

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 15h15   #5
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
Bonjour à tou,s je n'ai toujours pas trouvé la solution..

Cependant j'ai radicalement changé de méthode et ça marche.
Pour ceux que ça interresse, je créer une requête de selection de doublons dans une chaine et j'éxporte l'execution de la chaine de caractere.

(Si vous avez besoins de précision, je réponds aux questions)
pikameuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h53.


 
 
 
 
Partenaires

Hébergement Web