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 :

VB6 et Access


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 34
    Points
    34
    Par défaut VB6 et Access
    Bonjour,

    Ci dessous un morceau de code qui permet de déterminer la ligne d'enregistrement d'une table access dont le champ "nom" contient le string défini dans la textbox "txtTrouver" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub txtTrouver_LostFocus()
     
    Dim strnom As String
     strnom = Trim(txtTrouver.Text) & "*"
     strnom = "nom like '" & strnom & "'"
     
    If txtTrouver.Text <> "" Then
     datAuthors.Recordset.FindFirst strnom
     XXX
    End If
     
    End Sub
    Ce que je voudrais savoir, c'est si à la place du XXX, il pourrait y avoir une ligne de code qui affiche à l'écran (par une Msgbox….) la valeur du champ "age" de la même ligne d'enregistrerment…

    Bien sûr je pourrais mettre sur la form un contrôle textbox lié au champ "age" et récupérer dans ce contrôle cette valeur mais je voudrais savoir si c'est possible via une simple ligne de code…

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu peux envisager plusieurs méthodes...
    En voici une :

    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
    Function ObtenirValeurChamp(ByVal QuelChamp As String, ByVal QuelleTable _
    As String, ByVal ChampCritere As String, ByVal Valeur As String) As String
    Dim oRS As DAO.Recordset
    Dim SQL As String
    Dim strFindFirst As String
    
    &#160;&#160;SQL = "SELECT * FROM " & QuelleTable & ";"
    &#160;&#160;strFindFirst = "[" & ChampCritere & "] = " & Chr(34) & Valeur & Chr(34)
    &#160;&#160;Set oRS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset)
    &#160;&#160;With oRS
    &#160;&#160;&#160;&#160;.FindFirst strFindFirst
    &#160;&#160;&#160;&#160;If .NoMatch Then
    &#160;&#160;&#160;&#160;&#160;&#160;ObtenirValeurChamp = "Aucune occurence trouvée"
    &#160;&#160;&#160;&#160;Else
    &#160;&#160;&#160;&#160;&#160;&#160;ObtenirValeurChamp = .Fields(QuelChamp).Value
    &#160;&#160;&#160;&#160;End If
    &#160;&#160;&#160;&#160;.Close
    &#160;&#160;End With
    &#160;&#160;Set oRS = Nothing
    End Function
    
    Private Sub txtTrouver_LostFocus()
    &#160;&#160;MsgBox "Valeur trouvée :" & ObtenirValeurChamp("Age", "datAuthors", _
    &#160;&#160;"Nom", Trim(Me!txtTrouver))
    End Sub
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Merci

    Je viens de l'intéger et il y a un message d'erreur (erreur d'excécution 424, un objet est requis) à ce niveau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oRS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset)
    Je suppose que ça vient du CurrentDb mais je ne vois pas le pb exact

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    1/ Cocher la référence à DAO 3.6 Object Library

    2/ Tout dépend où est le code :

    dans VB6 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim oDB As DAO.Database
    Dim oWKS As DAO.Workspace
    Dim oRS As DAO.Recordset
     
      Set oWKS = Workspaces(0)
      Set oDB = oWKS.OpenDatabase("Chemin + nom de ta base")
      Set oRS = oDB.OpenRecordset("SELECT...")
      [....]
      oRS.Close
      oDB.Close
     
    Set oRS = Nothing
    Set oDB = Nothing
    Set oWKS = Nothing
    dans Access ?
    CurrentDB est la BDD en cours...

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par getea85
    Ce que je voudrais savoir, c'est si à la place du XXX, il pourrait y avoir une ligne de code qui affiche à l'écran (par une Msgbox….) la valeur du champ "age" de la même ligne d'enregistrerment…
    Pour repondre a cette question je dirais que oui c'est tout a fait possible. - A voir ton code tu utilises un ADODC -

    Ainsi si tu faisais ceci, je croit tu devrais avoir le resultat voulu

    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
    Private Sub txtTrouver_LostFocus() Dim strnom As String strnom = Trim(txtTrouver.Text) & "*" strnom = "nom like '" & strnom & "'" If txtTrouver.Text <> "" Then datAuthors.Recordset.FindFirst strnom 'Tu verifies d'abord si tu as aumoins un resultat if datAuthors.Recordset.Recordcount > 0 then msgbox datAuthors.Recordset!Champs_Age end if End If End Sub
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 44
    Points : 34
    Points
    34
    Par défaut
    Merci à vous : les 2 solutions fonctionnent

    Celle de sovo est la plus simple mais celle d'argyronet plus évoluée pourra surement me servir pas la suite !

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

Discussions similaires

  1. Requete avec recordset ADODB vb6 et Access 2000 (jet 4.0)
    Par mathieuleclerc dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/09/2006, 10h54
  2. [VB6] et access
    Par datapascal dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/04/2006, 10h05
  3. [VB6] Automation Access
    Par Invité dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 05/04/2006, 12h02
  4. [vb6 et access] problème de modification de contenu de champ
    Par dj_tess dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/12/2005, 19h26
  5. [VB6] [ADO] [Access] Changer le mot de passe
    Par dlpxlid dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/03/2003, 09h45

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