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

VB 6 et antérieur Discussion :

Recordset et DataSource


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sab_etudianteBTS
    Inscrit en
    Juin 2006
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 211
    Par défaut Recordset et DataSource
    Salut!
    Voila en affichant mes données dans mon flexgrid je voudrait faire un test pour voir si le recordset est vide ou non, comme ca s'il l'est, je met le flexgrid a visible=false.
    Voici mon code:

    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
     
    Private Sub Form_Load()
     
    Dim cnx As New ADODB.Connection 'Pour la connexion a la BDD
    Dim rst As New ADODB.Recordset 'Pour la requete
     
    cnx.ConnectionString = "DSN=" & monDSN & ";UID=" & monUID & ";PWD=" & monPWD & ";"
     
    cnx.Open
     
    rst.Open "SELECT DateComposant, Signature FROM COMPOSANT WHERE Editeur='McAfee'", cnx
     
    If Not rst.EOF Then
        Set MSHFlexGrid1.DataSource = rst
    End If
     
    rst.Close
     
    End Sub
    Et la ca me met un msg d'arreur:

    Erreur d'exécution '30023'
    Imopssible d'accéder aux données. Les paramètres de la sources de données doivent être
    incorrects ou sa fonctionnalité est peut-être limitée.

    Et je ne comprend pas pq! C peut etre mon "if" qui ne va pas pcq si je l'enléve tout fonctionne nickel.
    Si qq1 pouvait m'expliquer ce serait super gentil merci!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 46
    Par défaut
    Salut tu peut utiliser les debug.print c'est tres utilise pour savoir si ta requete ou ta connection marche bien.

    de plus pour boucler tu peut utiliser les DO UNTIL rst.eof(end of file) puis tu boucle avec un LOOP c'est plus simple a mon avis si non je peut pas plus t'aider désolé

  3. #3
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    DO UNTIL ... LOOP ???????? Ca servirait a rien, il n'y a aucune boucle dans ce code !!! C'est juste un test!!

    Bref, fait tourner ton programme en pas à pas afin de nous dire sur quelle ligne de commande est générée l'erreur.
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  4. #4
    Membre confirmé Avatar de sab_etudianteBTS
    Inscrit en
    Juin 2006
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 211
    Par défaut
    Salut, merci de m'avoir répondu.
    Voila l'erreur est sur cette ligne, ca la surligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set MSHFlexGrid1.DataSource = rst
    Je comprend vraiment pas pcq si j'enléve le if tout fonctionne normalement!
    Merci

  5. #5
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    Met les partie les plus importante de ton code, car la ligne que tu viens de me donner ne fait pas partie du code précédent
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  6. #6
    Membre confirmé Avatar de sab_etudianteBTS
    Inscrit en
    Juin 2006
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 211
    Par défaut
    Cmt ca elle ne fait pas partie du code précédent?? Si si... Je crois ke je n'ai pas bien compris ce ke tu veux...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If not rst.EOF then
        MSHFlexGrid1.DataSource=rst
    Else
        MSHFlexGrid.Visible=False
    Enf If
    En fait ca plante a partir de mon if. Dés kil passe ce if, c comme si le recordset était "vide", ou bien kon ne peut plus le réutiliser...

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

Discussions similaires

  1. [VB6]Joindre deux recordsets en un seul
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 11/06/2003, 21h06
  2. [VB6] générer un recordset qui n'est pas lier à un bdd
    Par damyrid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2003, 17h48
  3. [VB6] Sauvegarder la position dans un Recordset
    Par inotna2099 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/04/2003, 17h35
  4. [VB6] [BDD] Recordset et champ égal à Null
    Par Gr|ppen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/03/2003, 10h00
  5. [ADO] Sauvegarde / lecture de recordset
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/09/2002, 16h54

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