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 :

Lecture enregistrement dans une table


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 304
    Par défaut Lecture enregistrement dans une table
    Bonjour
    Peut t'on dans le code suivant remplacer la clause where par une valeur contenue dans un champ de formulaire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim oRst as DAO.Recordset
    Dim oDb as DAO.Database
    Set oDb=CurrentDb
    Set oRst=oDb.OpenRecordset("SELECT NomClient,Ville FROM Clients WHERE NomClient=Dupont",dbOpenDynaset)
    Je m'explique : au lieu de je voudrais faire qqchose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Where Nomclient=ChampduFormulaire.value
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Oui, c'est tout à fait possible et heureusement.

    Voici un exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim strSql as String
    strSql =  SELECT NomClient,Ville FROM Clients WHERE NomClient='" & Me.Lechamp.value & "'"
     
    Set oRst=oDb.OpenRecordset(strSql,dbOpenDynaset)
    Remarques :
    • Je l'ai tapé à la main, donc peut-être une erreur de syntaxe.
    • Tu prends une donnée de type texte, donc tu il faut entourer de doubles-quotes (ne nombreux postes et articles en parle).
    • Le fait du passer par une variable (strSQL) simplifie la lecture du code, surtout si ta chaine SQL est assez longue.


    Autre Remarque :
    On ne fait jamais une recherche sur un nom dans une table des clients, elles doivent être gérée par une clé primaire. Comment vas-tu faire si tu as deux clients avec le même nom ?

    Starec

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 304
    Par défaut
    Merci à Starec pour ses conseils
    Ca fonctionne
    Quant à cette remarque
    "On ne fait jamais une recherche sur un nom dans une table des clients, elles doivent être gérée par une clé primaire. Comment vas-tu faire si tu as deux clients avec le même nom ?"
    La recherche par le nom n'est qu'un exemple, en fait je recherche par un code client qui lui est unique

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Jean-Luc80 Voir le message
    La recherche par le nom n'est qu'un exemple, en fait je recherche par un code client qui lui est unique
    Je préfère

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

Discussions similaires

  1. Position d'un enregistrement dans une table ou requête Query
    Par polinevol dans le forum Bases de données
    Réponses: 3
    Dernier message: 21/01/2006, 03h53
  2. Position d'un enregistrement dans une table
    Par polinevol dans le forum Bases de données
    Réponses: 1
    Dernier message: 16/01/2006, 09h10
  3. [WD9] Cliquer sur des enregistrements dans une table
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 20h11
  4. Nombre d'enregistrement dans une table MySQL
    Par tom06440 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 21/10/2005, 19h07
  5. AJOUT d'un ENREGISTREMENT dans UNE TABLE
    Par ramo dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/08/2005, 16h24

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