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 :

Pb de lecture de base de donnée access en utilisant VB6 !


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 62
    Points : 46
    Points
    46
    Par défaut Pb de lecture de base de donnée access en utilisant VB6 !
    Bonjour,

    Dans mon IHM j'ai mis des "CheckBox", j'arrive parfaitement a ecrire les selections dans ma bes de de donnée Access (Information declaré en "Oui/Non dans access). Mais par contre inpossible de relire les informations de mes selection, j'ai une erreure de "proprité" pourquoi et comment resoudre cela ?
    Merci pour votre aide.
    Sébastien

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    '=========================
    '===Creation de la base===
    '=========================
    Private Sub Command1_Click()
     
    Dim db As Database
    Dim rs As Recordset
    Dim sql As String
     
    Set db = OpenDatabase(App.Path & "\BDD_97.mdb")
     
    'On séléctionne tous les champs de la table
    sql = "select * from Table1"
     
    'on est bien en mode écriture (dbOpenDynaset)
    Set rs = db.OpenRecordset(sql, dbOpenDynaset)
     
    'Pour ajouter un enregistrement
    rs.AddNew
     
    rs.Fields("Nom") = TxtNom.Text
    rs.Fields("Prenom") = TxtPrenom.Text
    rs.Fields("Age") = TxtAge.Text
    rs.Fields("Dossier") = TxtNumDossier.Text
    '''''''''''ECRITURE DANS LA BASE OK
    rs.Fields("toto") = Chktoto.Value
    rs.Fields("tata") = Chktata.Value
     
    'Une fois les valeurs définies, on met à jour
    rs.Update
    rs.Close
     
    MsgBox "Création de la Base Réussie", vbInformation, "Enregistrement..."
     
    End Sub
     
    '========================
    '===Lecture de la base===
    '========================
    Private Sub Command2_Click()
     
    Dim db As Database
    Dim rs As Recordset
    Dim sql As String
     
    Set db = OpenDatabase(App.Path & "\BDD_97.mdb")
     
    'On séléctionne tous les champs de la table
    sql = "select * from Table1"
     
    'Remarqué la présence de ' obligatoire pour le bon fonctionnemnt
    sql = "select * from Table1 where Nom='" & TxtNom.Text & "' "
    Set rs = db.OpenRecordset(sql, dbOpenSnapshot)
     
    'Verification si information est dans la base
    If rs.EOF = False Then
        TxtDossier.Text = rs.Fields("Auto")
        TxtNom.Text = rs.Fields("Nom")
        TxtPrenom.Text = rs.Fields("Prenom")
        TxtAge.Text = rs.Fields("Age")
        TxtNumDossier.Text = rs.Fields("Dossier")
    '''''''''RELECTURE DE TOTO ET TATA MARCHE PAS ???????
        Chktoto.Value = rs.Fields("toto")
        Chktata.Value = rs.Fields("tata")
    Else
        MsgBox "Pas d'information dans la Base", vbCritical, "Attention"
        Exit Sub
    End If
     
    'dbOpenSnapshot à la place du dbOpenDynaset en mode "écriture"
    sql = "select * from Table1 where Nom='" & TxtNom.Text & "' and Age='" & TxtAge & "' "
    Set rs = db.OpenRecordset(sql, dbOpenSnapshot)
     
    TxtDossier.Text = rs.Fields("Auto")
    TxtNom.Text = rs.Fields("Nom")
    TxtPrenom.Text = rs.Fields("Prenom")
    TxtAge.Text = rs.Fields("Age")
    TxtNumDossier.Text = rs.Fields("Dossier")
    Chktoto.value = rs.Fields("toto")
    Chktata.Value = rs.Fields("tata")
     
    MsgBox "Chargement des Valeurs Réussi", vbInformation, "Chargement..."
     
    'Une fois les valeurs définies, on met à jour
    rs.Close
     
    End Sub

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Je peux me trompre mais les champs boolean attendent un true/false et les checkbox ont comme valeur 1 ou 0
    Donc peut être que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rs.Fields("toto") = (Chktoto.Value=1)
    va peut être résouldre ton problème
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 62
    Points : 46
    Points
    46
    Par défaut marche pas !
    Je n'ai pas de pbs pour ecrire dans la base de donnée avec l'instruction rs.Fields("toto") = Chktoto.Value Mais par contre je n'arrive pas a relire les informations "Oui/Non" avec l'instruction Chktoto.Value = rs.Fields("toto") !!!

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Va voir là:
    http://www.developpez.net/forums/showthread.php?t=83984

    Ce devrait être la solution.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 62
    Points : 46
    Points
    46
    Par défaut Merci ça marche
    Ok j'ai fait comme ton exemple, et plus de pb...j'arrive a lire ma base de donnée avec des infos bit sans pbs.
    MERCI

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

Discussions similaires

  1. [AC-2010] mettre une base de données access 2010 en lecture seule
    Par mo9rissat dans le forum Runtime
    Réponses: 7
    Dernier message: 06/08/2012, 18h09
  2. Edition d'une base de données access en utilisant ado.net
    Par sidisadmir dans le forum ADO.NET
    Réponses: 2
    Dernier message: 10/02/2011, 12h56
  3. Réponses: 15
    Dernier message: 25/10/2004, 11h50
  4. [Déploiement]Base de donnée Access
    Par Giovanny Temgoua dans le forum Bases de données
    Réponses: 9
    Dernier message: 09/08/2004, 20h48
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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