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

Requêtes et SQL. Discussion :

Une ligne UPDATE comprennant des variables


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut Une ligne UPDATE comprennant des variables
    Bonjour!!
    J'ai un petit pépin face à une petite requête SQL que je soumet à mon code...

    Je voudrais faire un UPDATE avec des renseignements contenus dans un formulaire, voici mon code pour le moment:
    Code VBA : 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
    Private Sub Commande11_Click()
    Dim db As DAO.Database
    Dim tbl As Variant  'Table à updater
    Dim ref As Variant  'Référence pour la condition WHERE
    Dim modi As Variant  'Champ à modifier
    Dim SQL As String  'Ligne SQL
    'Prise des variables
    tbl = etitable.Caption
    ref = etiref.Caption
    modi = etimodif.Caption
    Set db = CurrentDb
    'Sql
    SQL = "UPDATE comptes SET Détails=" & txt.Value & " WHERE 'N°'=2"
    Debug.Print SQL
    db.Execute SQL
    db.Close
    DoCmd.Close acForm, "modif", acSaveNo
    End Sub

    Malheureusement, le debugger arrête sur db.Execute SQL, donc ma ligne SQL=... ne fonctionne pas! La ligne comprend des informations statiques pour le moment, mais lorsque corrigée nous aurons les variables déclarées plus haut. Je crois que l'erreur est au niveau du N°, est-possible?

    Merci!

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Perso, si j'utilise le DAO, je vais en DAO jusqu'au bout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim db As DAO.Database
    Dim rs As DAO.RecordSet
    Dim SQL As String
     
    Set db = CurrentDb
    sql = "Select * From Matable"
    Set rs = db.OpenRecordset(sql)
     
    rs.AddNew
    rs.Fields(1) = Me.MonControle
    rs.update
    Les captions ne contiennent pas de données, ce sont des valeurs pour étiquettes.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 120
    Par défaut
    Bonjour,

    Quelle bien étrange syntaxe ?!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "UPDATE comptes SET Détails=" & txt.Value & " WHERE 'N°'=2"
    Détails c'est du texte pourtant il n'y a pas de double-cote pour le txt.value, par contre N° qui est un nom de champ il y a de simple-cote !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acForm, "modif", acSaveNo
    c'est probablement parceque tu ne veux pas sauvegarder les variables que tu stockes dans des étiquettes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tbl = etitable.Caption
    ref = etiref.Caption
    modi = etimodif.Caption
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 123
    Par défaut
    Bonsoir,

    Le code sql serait plutôt de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql = "UPDATE [nom_de_la_table] SET [nom_de_la_table].nom_du_champ1=[Forms]![nom_formulaire]![nom_champ1_formulaire] WHERE [nom_de_la_table].nom_champ2= [Forms]![nom_formulaire]![nom_champ2_formulaire]"
    Tiens nous au courant

  5. #5
    Membre éclairé Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Par défaut
    Bonjour!
    J'ai enfin réussi en utilisant le débugger (ce que j'aurais du faire bien avant!)
    Voici donc mon code final:
    Code Vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande11_Click()
    Dim db As DAO.Database
    Dim sql As String
    Set db = CurrentDb
    sql = "Update " & etitable.Caption & " SET " & etimodif.Caption & "='" & txt.Value & "' WHERE N°=" & etiref.Caption
    Debug.Print sql
    db.Execute sql
    db.Close
    DoCmd.Close acForm, "modif", acSaveNo
    End Sub

    P.S.: Loufab, ton message a aidé en rien, merci.

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 120
    Par défaut
    Citation Envoyé par amerex Voir le message
    P.S.: Loufab, ton message a aidé en rien, merci.
    Etrange qu'il ne t'ai pas aidé... c'est pourtant exactement les conseils que tu as suivi.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

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

Discussions similaires

  1. [Débutant] Recuperer le resultat d'une seule ligne select dans des variables ou un tableau
    Par Celia_anais dans le forum Accès aux données
    Réponses: 2
    Dernier message: 17/06/2015, 10h56
  2. Réponses: 19
    Dernier message: 14/08/2007, 14h41
  3. [RegEx] Ecrire une requete INSERT avec des variables $_POST
    Par arnaudperfect dans le forum Langage
    Réponses: 10
    Dernier message: 13/06/2007, 15h12
  4. raffraichir une page en gardant des variables
    Par fred036 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/10/2006, 14h17
  5. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35

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