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 :

Resultat d'une requete SQL avec un recordSet


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2007
    Messages : 88
    Points : 72
    Points
    72
    Par défaut Resultat d'une requete SQL avec un recordSet
    BOnjour !
    J'aimerai faire un test selon l'existence ou non d'un enregistrement dans une table.
    J'ai ma requete SQL, j'ouvre mon recordset avec. Mais je ne connais pas le test qu'il faut effectuer pour savoir si il y a un enregistrement correspondant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sSQL = "SELECT table_fant.designation FROM table_fant WHERE (false) OR (table_fant.Designation='" & Liste1.Column(0, i) & "');"
            Set exist = CurrentDb.OpenRecordset(sSQL)
            If IsNull(exist) Then
                DoCmd.RunSQL "INSERT INTO Table_fant SELECT canal.* FROM canal WHERE (false) OR (canal.Designation='" & Liste1.Column(0, i) & "');"
            Else
               MsgBox exist("Designation")
            End If
    Voilà ce que j'ai mis mais celà ne marche pas car je tombe toujours dans le Else que l'enregistrement existe ou non. D'ailleurs si il existe, l'affichage est bon et sinon il me dit qu'il y a "Aucun enregistrement en cours". Donc j'y suis presque sauf que là c'est un message d'erreur !

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

    Il faut tester la propriété RecordCount de ton recordset, en faisant un MoveLast avant.

    Starec

  3. #3
    Membre régulier
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2007
    Messages : 88
    Points : 72
    Points
    72
    Par défaut
    Hm? Je ne comprend pas pourquoi utilisé MoveLast ?
    Par contre, merci pour le RecordCount... C'est parfait
    Je poste le code pour ceux que ça interresse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sSQL = "SELECT table_fant.designation FROM table_fant WHERE (false) OR (table_fant.Designation='" & Liste1.Column(0, i) & "');"
            Set exist = CurrentDb.OpenRecordset(sSQL)
            If exist.RecordCount = 0 Then
                DoCmd.RunSQL "INSERT INTO Table_fant SELECT canal.* FROM canal WHERE (false) OR (canal.Designation='" & Liste1.Column(0, i) & "');"
            Else
      MsgBox exist("Designation")
                    End If
            exist.Close
    EDIT : Oups j'en ai oublié de dire merci !!

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

Discussions similaires

  1. JDBC comparer String avec resultat d'une requete SQL
    Par a.collery dans le forum JDBC
    Réponses: 4
    Dernier message: 30/04/2015, 18h32
  2. resultat d'une requete sql dans recordset
    Par hi-wave dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 23/06/2012, 20h29
  3. [MySQL] Affichage du resultat d'une requete SQL avec PHP
    Par tabouet dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/09/2009, 14h03
  4. Réponses: 6
    Dernier message: 31/07/2006, 10h18
  5. Réponses: 1
    Dernier message: 25/10/2005, 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