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 :

VB5: Recordset ADO et DBGrid


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 208
    Par défaut VB5: Recordset ADO et DBGrid
    Salut,


    J'essaie en vain de rattacher un recordset ADO au Datasource d'une DBGrid.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rc.Open "SELECT * FROM TABLE;", cnx, adOpenKeyset, adLockOptimistic
    Set DBGridCorrH.DataSource = rc
    J'ai ce message d'erreur : La classe ne gére pas Automation.
    Sur tous les exemples que j'ai pu consulter sur le Net je suis tombé sur cette méthode et personne ne signale ce genre d'erreur.

    Est-ce la bonne méthode pour remplir un DBGrid ?

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 208
    Par défaut
    C'est bon, j'ai réussi à lier mon recordset ADO à mon DBGrid.
    En fait, je ne savais qu'il fallait également créer un contrôle Data.
    En rattachant le recordset au contrôle Data puis en liant le DBGrid au contrôle les données s'affichent correctement.

    Cependant j'ai encore un soucis concernant l'ajout d'enregistrement via ma DBGrid.
    Je peux modifier mes enregistrements mais je n'ai la possibilité d'en créer.

    Faut-il faire quelque chose de particulier pour pouvoir ajouter des enregistrements ?
    Le paramètre AddNew de ma DBGrid a bien été coché.

  3. #3
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    En ADO, tu devrais plutôt utiliser une DataGrid et non pas une DBgrid, conçue initialement pour DAO et, dans ce cas, pas besoin de contrôle Data, qui oblige à une gymnastique pas très académique !
    L'affectation se fait directement par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Set DataGrid1.DataSource = rs

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 208
    Par défaut
    Ok, merci pour l'info.
    C'est clair que le contrôle Data est un peu contraignant.

    Concernant l'ajout dans ma DBGrid c'est bon, je n'affichais pas l'intégralité de la clé primaire donc forcément je ne pouvais ajouter de nouveaux enregistrements.

Discussions similaires

  1. Réponses: 13
    Dernier message: 28/11/2006, 08h40
  2. Requête croisée dans un recordset ADO
    Par MuadDib_CH dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 12/09/2006, 16h23
  3. VB6 - Syntaxe dans les clauses de filtrage des recordsets ADO
    Par MGD_Software dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 06/07/2006, 11h56
  4. [VB6]recordset ado
    Par chagala dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/05/2006, 11h29
  5. Réponses: 6
    Dernier message: 17/01/2006, 09h12

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