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 6 et antérieur Discussion :

pb de côte et double côtes


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut pb de côte et double côtes
    Bonjour,

    J'ai crée un recordset dans lequel je veux insérer le contenu de deux parties d'un combobox appelée cbform2 dans deux champs d'une base de données.
    j'ai un petit souci avec les ' et "".
    Pourriez vous m'aider à le résoudre.

    Je vous en remercie beaucoup.Cordialement.
    Nathalie
    Voici ma requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rst1.Open "INSERT INTO cbtest_table(cpte,libelle) values ('" & Mid(cbform2.Text, 1, 5), Mid(cbform2.Text,6,cbform2.Width) & "')", cn"

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Bonjour,

    "cpte" et "libelle" sont deux champs de type alphanumérique ?

    Si oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rst1.Open "INSERT INTO cbtest_table(cpte,libelle) values ('" & Mid(cbform2.Text, 1, 5)&"','"& Mid(cbform2.Text,6,cbform2.Width) & "')", cn"
    Mais qu'est-ce que "cn" ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut pb de quotes
    Bonjour,

    cpte est un champ de type numérique, libelle est un champ de type texte.
    Le pb est peut être à ce niveau là.

    Merci de votre aide.
    Cordialement.
    Nathalie

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Alors,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst1.Open "INSERT INTO cbtest_table(cpte,libelle) values (" & Mid(cbform2.Text, 1, 5)&",'"& Mid(cbform2.Text,6,cbform2.Width) & "')", cn
    et il me semble que tu as un " en trop à la fin de l'instruction Open

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    pour info cbForm2.Width ... c'est pas la largeur en nombre de caractéres...mais en "points"...pour obtenir les caractéres "restant" tu ne met rien en 3° paramétre de ta fonction Mid..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rst1.Open "INSERT INTO cbtest_table(cpte,libelle) values (" & Mid(cbForm2.Text, 1, 5) & ",'" & Mid(cbForm2.Text, 6) & "'), cn"
    [Edit] correction du code ... les cotes autour des valeurs alphanumérique.. (merci Phifi)

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Attention Bbil, tu as remis les simples quotes dans ton code pour la première valeur (numérique), et tu les as enlevés pour le champ alpha

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par Phifi
    Attention Bbil, tu as remis les simples quotes dans ton code pour la première valeur (numérique), et tu les as enlevés pour le champ alpha
    code corrigé

  8. #8
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Je pense qu'il manque un espace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO cbtest_table(cpte,libelle)
    devrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO cbtest_table (cpte,libelle)

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Je pense qu'il manque un espace
    Non non, il n'y a pas d'espaces

    Pour résumer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst1.Open "INSERT INTO cbtest_table(cpte,libelle) values (" & Mid(cbForm2.Text, 1, 5) & ",'" & Mid(cbForm2.Text, 6) & "')", cn
    devrait fonctionner (attention, sans le dernier " après cn qui doit être l'objet connexion, le double quote est avant, il ferme la requête)

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut pb de quotes
    bonjour,


    Je vous remercie pour votre aide.
    voici le message que je reçois :

    impossible d'utiliser cette connexion pour effectuer cette opértion; elle est fermée ou non valide dans ce contexte.


    Il se trouve que quand je n'insère que dans le champ cpte, l'insertion se déroule bien et je n'ai pas ce message.
    A quoi est il dû selon vous?

    voici le code entier de ma fonction d'insertion

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
     
    Public cn As ADODB.Connection
     
    Private Sub InsertDB()
    Dim rst1 As New ADODB.Recordset
     
    Set cn = New ADODB.Connection
    'Définition de la chaîne de connexion
    cn.ConnectionString = "C:\NH\bd_test.mdb"
     
    'Définition du pilote de connexion
    cn.Provider = "Microsoft.Jet.Oledb.4.0"
     
    'Ouverture de la base de données
    cn.Open
     
     
    On Error GoTo err_Refresh
     
    rst1.Open "INSERT INTO cbtest_table(cpte,libelle) values ('" & Mid(cbform2.Text, 1, 5) & "', " & Mid(cbform2.Text, 6) & "), cn"
     
    'rst1.Open "INSERT INTO cbtest_table(cpte) values ('" & Mid(cbform2.Text, 1, 5) & "')", cn
     
     
    cn.Close
     
    Exit Sub
     
    err_Refresh:
    MsgBox Err.Description, vbCritical, "pbinsertcbform2"
    Err.Clear
     
    End Sub
    la requête d'insertion uniquement dans le champ cpte est en commentaire pour information

    Merci beaucoup à vous.
    cordialement.
    Nathalie

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut [résolu]pb de quotes
    Bonjour,

    Tout fonctionne bien, mais, de grâce, afin que je ne vous le redemande plus, pouvez vous m'indiquer la règle à suivre que je la connaisse bien une fois pour toutes et ne perdeplus de templs avec cela.

    Merci beaucoup à vous.

    Nathalie

Discussions similaires

  1. doubler les double côtes...
    Par vavou dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/05/2008, 17h08
  2. [VB6] Enlever les côtes '
    Par zako dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 11/05/2006, 15h19
  3. Afficher côte à côte
    Par kissmytoe dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/03/2006, 14h35
  4. C'est quoi cte commande : event.Skip();
    Par firejocker dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 01/10/2005, 14h34
  5. 2 listes côtes à côtes (50/50) sous IE 5
    Par nicolas.charlot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 41
    Dernier message: 26/09/2005, 16h33

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