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

VB.NET Discussion :

procédure de supression


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 113
    Par défaut procédure de supression
    Bonjour, j'ai écris une procédure pour supprimé un enregistremrement !
    la voici :
    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
    22
    23
    24
    25
    'supprimer un client
    Dim db As Database
    Dim rs As Recordset
    Dim sql As String
    Set db = CurrentDb
    'vérification que les informations ont bien été saisies
    If IsNull(Forms!sup_CLIENTS!Nom_Cli) = True Then
    MsgBox (" Veuillez sélectionner un Client")
    Else
    sql = "select*from CLIENTS where Nom_Cli= " & Forms!sup_CLIENTS!Nom_Cli & ""
    Set rs = db.OpenRecordset("CLIENTS")
    Set rs = db.OpenRecordset(sql)
    rs.MoveFirst
    Do While rs.EOF = False
    'vérification que l'utilisateur veut toujours supprimé le client
    If MsgBox("Voulez vous supprimer le client" & rs!Nom_Cli, vbYesNo) = vbYes Then
    rs.Delete
    End If
    rs.MoveNext
    Loop
    MsgBox ("le client a bien été supprimé.")
    rs.Close
    DoCmd.Close
    End If
    End Sub
    le problème quand je l'execute, je recoi un message disant :
    erreur de syntaxe (opérateur absent) dans l'expression "Nom_Cli=????.
    sachant que ???? c'est l'enregistrement que je veux supprimer !

    merci de bien vouloir m'aider

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    quel affreux code vb6 ! ^^


    en vb.net on utilises plus les recordset, on évite de concaténer une requête avec une valeur (dbparameters à la place)

    "DELETE FROM CLIENTS where Nom_Cli = @NomClient"

    et si possible on utilise des clés, parce que si 2 clients ont le même nom ton code va poser problème ...

    & ""
    l'utilité ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 113
    Par défaut
    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
    Dim db As Database
    Dim rs As Recordset
    Dim sql As String
    Set db = CurrentDb
    'vérification que les informations ont bien été saisies
    If IsNull(Forms!sup_CLIENTS!Nom_Cli) = True Then
    MsgBox (" Veuillez sélectionner un Client")
    Else
    sql = "DELETE FROM CLIENTS where Nom_Cli = forms!sup_CLIENTS!Nom_Cli"
    Set Parameters = dbparameters(sql)
    Do While rs.EOF = False
    'vérification que l'utilisateur veut toujours supprimé le client
    If MsgBox("Voulez vous supprimer le client" & rs!Nom_Cli, vbYesNo) = vbYes Then
    End If
    Loop
    MsgBox ("le client a bien été supprimé.")
    rs.Close
    DoCmd.Close
    End If
    End Sub
    je l'ai écris ce cette manière mais sa fonctionne toujours pas

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    relis mon message ... tu verras que je dis que le mot recordset ne doit pas être écris dans un programme vb.net

    et tu ferais mieux de commencer par lire un cours sur vb.net au lieu de taper du code au hasard

    celui ci est pas trop mal : http://plasserre.developpez.com/cours/vb-net/
    un peu long certes mais on part sur de bonnes bases avec


    et le forum a une balise code pour la mise en forme du code
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    C'est pas du access ca plutot?

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    une macro access ressemblerait à ca oui, auquel cas c'est pas le bon forum et pas les bonnes réponses ^^
    mais il y a aussi des gens qui ajoutent les dll qu'on utilisait à l'époque pour vb6 à vb.net pour utiliser des recordset ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/01/2006, 12h11
  2. Explication procédure stockée
    Par underworld dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2002, 10h51
  3. ProgressBar avec plusieurs procédures
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 08/09/2002, 18h03
  4. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27
  5. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08

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