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 :

Mélanger Visual basic et SQL


Sujet :

VBA Access

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 22
    Par défaut Mélanger Visual basic et SQL
    Bonjour,

    je ne m'y connais pas très bien en Visual Basic et je dois l'utiliser dans le cas suivant:

    J'ai un formulaire « Langue » dans lequel je veux faire une validation sur la suppression.

    Lorsque l'utilisateur veut supprimer une langue, je veux aller vérifier dans la table « centre » si cette langue est déjà utilisée dans un enregistrement ou non (il y a une relation entre les tables « centre » et « langue », mais je n’ai pas mis le respect de l’intégrité référentielle, car je ne veux pas que le champ langue soit obligatoire dans la table « centre »)

    Donc, si la langue n’est pas utilisée par une centre, je peux permettre la suppression de la langue dans la table « langue » via le formulaire « langue », sinon la suppression est interdite.

    Bon en fait, je crois que la façon d’y arriver est de mettre une procédure événementielle dans le formulaire langue sur « Sur suppression » qui fera la vérification.

    Mon problème est que je ne sais pas comment insérer le code SQL dans le code Visual Basic.

    J’ai ce qui suit :

    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
     Private Sub Form_Delete(Cancel As Integer)
    'Vérifier si la langue est utilisée par un centre avant de la supprimer
     
    'Déclaration de la variable
    Dim id_langue As Integer
     
    'Affectation de la variable à la langue sélectionnée dans le formulaire pour la suppression
    id_langue = Me![id langue]
     
    Bon c’est ici que je ne sais pas comment insérer l’instruction SQL :
     
     If (mon instruction SQL a trouvé un enregistrement correspondant a la   langue sélectionnée dans la table centre) = True Then
           MsgBox "Vous ne pouvez pas supprimer cette langue, car elle est déjà utilisée par un centre", vbExclamation   
         Cancel = True
     
     Else
        Cancel = False    
     
     End If
     
    End Sub
    Mon instruction SQL est la suivante :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT [tbl centre].[id langue] FROM [tbl groupe] WHERE [tbl groupe].[id langue]= id_langue);

    Mais je sais que cette instruction retourne des enregistrements et non une valeur booléenne...

    Donc pouvez vous m’expliquer comment faire une instruction retournant une valeur true/false et comment l’insérer dans mon code Visual Basic ??

    Merci pour toutes vos réponses

    Isabelle

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Insérer une requête dans du code VB ???
    Rien de plus simple tu peux passer par ADO et des connections et ADO recordsets.
    Fouille le site il doit y avoir des tutoriels ou bien sur le MSDN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim rs As New Ado.Recordset
    Set rs=Connection.Open(stringMarequeteSQL)
    Le recordset va ramener un jeu d'enregistrement
    If (mon instruction SQL a trouvé un enregistrement correspondant a la langue sélectionnée dans la table centre) = True Then
    MsgBox "Vous ne pouvez pas supprimer cette langue, car elle est déjà utilisée par un centre", vbExclamation
    Cancel = True
    C'est tout bête : si le SELECT et recordset.recordcount=1 alors tu affiches le message.

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Des gens se donnent la peine de faire des tutoriels
    http://drq.developpez.com/vb/tutoriels/ADO/

  4. #4
    Membre éclairé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Par défaut
    ya peut etre des trucs de oufs a faire avec ADO, sinon, si tu ne veux pas de compliquer la vie, regarde la fonction DLookup!

  5. #5
    mat.M
    Invité(e)
    Par défaut
    Tout à fait mais la personne ne précise pas si c'est VB6 autonome ou VBA intégré à Access.
    C'est certain que dans le 2ième cas faut pas se compliquer la vie et pas besoin d'ADO ce qui alourdirait les choses

Discussions similaires

  1. microsoft visual basic et sql
    Par gomtex dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/06/2009, 09h15
  2. Visual Basic et SQL
    Par Koukouknizou dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/09/2007, 18h52
  3. problème sql avec les concepteurs visual basic
    Par Le Rebel dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/05/2006, 11h25
  4. Visual basic et date et requête SQL
    Par Fanny23 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/04/2006, 19h22
  5. Visual BASIC et SQL
    Par damned3 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 04/07/2005, 11h53

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