begin process at 2012 02 15 02:44:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Bases de données

 > 

[VB6 + Access] Problème avec une requête et la fonction .Recordcount


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[VB6 + Access] Problème avec une requête et la fonction .Recordcount

jeudi 30 juin 2005 à 10:36:00 | [VB6 + Access] Problème avec une requête et la fonction .Recordcount

NeT_SlipKnoT

Bonjour,

Je vous écris car dans mon programme je fais une requête dans une base Access afin de compter le nombre de résultat que génère la requête et ainsi mettre cette valeur Integer dans une variable temp. Pour celà j'utilise la fonction .RecordCount mais ça ne fonctionne pas comme il faut chez moi. Je n'ai pas de messages d'erreur mais j'obtiens "-1" dans ma variable alors que je devrais obtenir 90 !

Voilà mon code:
      
    Dim cnx As New ADODB.Connection
    Dim req_ent As New ADODB.Recordset
    Dim temp As Integer

    Call Connexion(cnx) 'Connexion à la base

    Set req_ent = New Recordset
    req_ent.Open "select CodePoste from Poste", cnx, adOpenDynamic, adLockOptimistic
    temp = req_ent.RecordCount

J'ai aussi essayé ça comme requête mais ça ne change rien, ça me donne toujours "-1":

    req_ent.Open "select count(CodePoste) from Poste", cnx, adOpenDynamic, adLockOptimistic

Quelqu'un peut-il m'aider SVP? Merci d'avance...

jeudi 30 juin 2005 à 10:56:40 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

omsylv

Réponse acceptée !
Bonjour,

Essaye de mettre un ; à la fin de ta requête. Concernant la deuxième requête je pense que pour récupérer la valeur il faut faire :

       temp = req_ent(0) 'récupère le premier résultat qui contient donc ton count

jeudi 30 juin 2005 à 11:10:18 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

tof008

Membre Club
Réponse acceptée !
Essaie peut etre comme ca....   

req_ent.Open "select count(CodePoste) as r  from Poste", cnx, adOpenDynamic, adLockOptimistic

tot = req_ent!r

Voila qui devrait te compter tout ca...

(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire

jeudi 30 juin 2005 à 11:12:59 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

NeT_SlipKnoT

Merci omsylv, tu as répondu à ma question avec ta 2e suggestion. Quand j'utilise Count dans la requête puis req_ent(0) ça fonctionne. Voici mon code:

    Set req_ent = New Recordset
    req_ent.Open "select distinct count(CodePoste) from Poste", cnx, adOpenDynamic, adLockOptimistic
    temp = req_ent(0)

J'obtiens bien la bonne valeur pour temp.

Par contre pour la fonction .RecordCount je vois toujours pas l'a faire fonctionner. Je ne peux pas mettre de ";" dans ma ligne car j'ai un message d'erreur VB sinon et si je mets le ";" à la fin de ma requête, c'est-à-dire juste avant le guillemet de fin de requête, ça ne change rien, j'obtiens toujours -1.

Donc merci omsylv pour ton aide même si je ne sais toujours pas comment utiliser la fonction .Recordcount, tu m'as donné une autre solution.

++

jeudi 30 juin 2005 à 11:16:25 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

NeT_SlipKnoT

Ta solution fonctionne aussi Tof008!! Merci mec. Je pense pas qu'il y en ai une meilleure qu'une autre. Au choix donc.

Sinon tu sais toi comment utiliser la fonction .Recordcount?

++

jeudi 30 juin 2005 à 11:19:29 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

omsylv

De rien. Mais c'est bizarre pour le RecordCount. -1 signifie qu'il n'arrive pas à compter le nombre d'enregistrement. Ceci dit normalement RecordCount renvoie un long et pas un int. Essaye de déclarer temp as long. Si ça ne fonctionne pas c'est que ça vient de la requête
jeudi 30 juin 2005 à 11:27:25 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

dan80

Réponse acceptée !


essaye ca:


    Set req_ent = New ADODB.Recordset
    req_ent.CursorLocation = adUseClient
    req_ent.Open "select distinct count(CodePoste) from Poste", cnx, adOpenDynamic, adLockOptimistic


   et la ton recordcount va fonctionné!

dis moi si ca marche
jeudi 30 juin 2005 à 11:32:06 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

tof008

Membre Club
De rien net_slipknot! On se doit bien ca!!!
Une petite question à dan80 : tu peux m'expliquer à quoi sert cette cette ligne? req_ent.CursorLocation = adUseClient
Parce que je n'avais jamais vu ca auparavant et je suis un peu curieux...


(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire

jeudi 30 juin 2005 à 11:35:56 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

tof008

Membre Club
Et pour le recordcount, je pense que si tu fais tout simplement
req_ent.movefirst
tot = req_ent.Recordcount
ca devrait marcher aussi...
Mais en fait c'est un peu la même réponse que omsylv...En fait tu te place sur le premier enregistrement...


(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire

jeudi 30 juin 2005 à 11:55:14 | Re : [VB6 + Access] Problème avec une requête et la fonction .Recordcount

NeT_SlipKnoT

dan80:

J'ai essayé ta solution avec la ligne que tu m'as dis de rajouter puis le code avec la fonction .Recordcount et effectivement ça fonctionne!
Mais comme tof008, j'aimerais bien savoir à quoi sert la ligne req_ent.CursorLocation = adUseClient afin de comprendre pourquoi elle est nécessaire pour faire fonctionner le .Recordcount ...

Merci.


1 2

Cette discussion est classée dans : req, requête, cnx, recordcount, ent


Répondre à ce message

Sujets en rapport avec ce message

[VB6 + Requête sur base Access] Erreur: "Utilisation non autorisée de Null" [ par NeT_SlipKnoT ] Bonjour à tous!Je vous écris car j'ai un problème au niveau d'une requête pour attaquer une base Access 2002 sous Visual Basic 6.Je commence tout d'ab requête [ par sophmef1 ] Bonjour, Avec 1 datagrid, 1 textbox et un bouton je voudrais faire une requête à partir du texte qu'aura saisi l'utilisateur dans 1 textbox.Mon code e Rowsource & Requête [ par Grippen ] Bonjour,avec le code suivant je devrai théoriquement afficher le résultat de la requête sql dans la combobox intitulé macombo (appartenant à la feuill Requête paramétrée en VBA [ par pliz ] Comment spécifier les paramètres d'une requête en VBA ?Voilà ce que j'écris :req.SQL = "PARAMETERS [Num_client1] integer, [Num_client2] integer; " & _ Requête et Combobox [ par diak ] Slt les mecs j'ai faire une requête qui me prend juste le num d'une table et met les arrange dans un comboboxj'ai essayé ça ... req="select num from progressbar-recordcount-groupby [ par carnez ] bonjourj'ai une requête de sélection (ADO) sur une table de plusieurs centaines de milliers d'enregla sélection en extrait 10.000le recordcount me don combobox et base de donnée access [ par jimluis ] Bonjour, Dans mon application VB6, j'ai un combobox, celui ci doit étre rempli par une table de ma base de donnée access. Probléme, il y a plusieurs f VBA - progessbar et recordcount [ par carnez ] une requête sélectionne, via ADO, environ 10.000 enregistrements.Le recordcount sur le recordset correspondant me donne bien les 10.000 enregs.Mais, d Problème avec ma requête ! [ par bernett ] J'utilise une connexion ADO pour enregistrer les données d'un formulaire excel dans une table Access.La connexion fonctionne mais la requête ne marche Problème avec ma requête ! [ par bernett ] Merci à Mooiz et Hfanny mais aucune de vos propositions ne fonctionne vous n'auriez pas d'autre propositions par hasard !Ps : la valeur que je récupèr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales