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

VBA Access Discussion :

Recherche une valeur dans une table à partie d'une zone de texte


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Recherche une valeur dans une table à partie d'une zone de texte
    Re Bonjour,

    Voici mon problème,

    j'ai deux tables banque et virement.
    - Table banque contient les champs suivants : ..., ..., nombanque, codebanque, ...
    - Table Virement contient : ..., ..., ..., ..., nombanque, codebanque, ...

    J'ai crée un formulaire lié à la table virement, sauf que je veux une fois écris dans la zone de texte nombanque, cherche le codebanque équivalant dans la deuxième table et l'insérer auto dans la zone de texte codebanque de mon formulaire.

    Bon j'ai utilisé le code suivant et ca marche pas :




    Option Compare Database
    Option Explicit
    Dim db As Database
    Dim rs As Recordset

    Private Sub cmdtest_Click()

    banque.SetFocus
    ch = banque.Text
    ch1 = "'" & ch & "'"
    Dim sql
    Set db = OpenDatabase("c:\Odvirement.mdb")
    sql = "select * from banque where [nombanque]= " & ch1
    Set rs = db.OpenRecordset(sql)
    If rs.EOF Then
    MsgBox ("Code Banque introuvable !")
    Else
    rs.MoveFirst
    [cmopte] = rs("cmopte")
    End If

    End Sub

    Quelqu'un peut m'aider ? et Merci d'avance ...

    NB. Le champ nombanque est texte tandis que le champ codebanque est numérique.

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Youpi, j'ai trouvé la solution :


    banque.SetFocus
    Dim ch
    Dim ch1

    ch = banque.Text
    ch1 = "'" & ch & "'"

    Dim sql

    Set db = OpenDatabase("c:\Odvirement.mdb")
    sql = "select * from banque where [banque]= " & ch1
    Set rs = db.OpenRecordset(sql)

    If rs.EOF Then
    MsgBox ("Code Banque introuvable !")
    Else
    rs.MoveFirst
    [cmopte] = rs("numbq")
    '[ville] = rs("ville 1")
    End If


    problème résolu

    @+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,

    Quelques remarques :

    - Merci d'utiliser les balises de code pour la lisibilité de ton sujet
    - Tu devrais déclarer complétement tes variables (Dim Sql as String)
    - Si la base en cours est c:\Odvirement.mdb, remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set db = OpenDatabase("c:\Odvirement.mdb")
    par
    - Je remplacerai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim ch
    Dim ch1
     
    ch = banque.Text
    ch1 = "'" & ch & "'"
     
    Dim sql
     
    Set db = OpenDatabase("c:\Odvirement.mdb")
    sql = "select * from banque where [banque]= " & ch1
    Set rs = db.OpenRecordset(sql)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    sql = "select * from banque where [banque]= """ & Me.banque & """;"
    Set rs = currentdb.OpenRecordset(sql)
    Le résultat sera le même, mais avec un code plus propre (du moins à mon avis )

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Merci,

    Changement réalisé avec succée.

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

Discussions similaires

  1. [MySQL] Insérer une valeur dans deux tables
    Par nongidog dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 23/10/2014, 14h18
  2. Réponses: 2
    Dernier message: 18/11/2012, 11h25
  3. Listage de données suivant une valeur dans la table
    Par omman95 dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/09/2009, 12h23
  4. Afficher un partie d'une valeur dans un champ
    Par curt dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/11/2007, 17h39
  5. problem avec la recherche d'une valeur dans les table
    Par anilane dans le forum Bases de données
    Réponses: 6
    Dernier message: 25/05/2007, 19h35

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