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 :

[VB6] utiliser les fcts (replace,SubString,..) d'sql


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 97
    Par défaut [VB6] utiliser les fcts (replace,SubString,..) d'sql
    salut a touts les programmeurs
    alors j'ai une table 'analyse' et une colonne 'code' tel que :
    OG
    OS3.6.9
    R1.1.35
    R1.2.3
    OS4
    R2.1
    R2.1.1.2

    je veut pour chaque valeurs de la colonne 'code' qui commence par OS ex remplacer OS par NIV1 exemple:
    OS3.6.9 ==> NIV13.6.9

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE analyse
    SET code=??????????
    WHERE code='OS%'
    et merci d'avance

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE analyse
    SET code=replace(code, 'OS', 'NIV1')
    WHERE code='OS%'

  3. #3
    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
    tu as fais le tour des forums ? tu n'est pas sur le bon à priori ! , puis ton titre ne nous dit pas avec quoi tu travaille [VB6] ... [VBA-A]

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Si tu avais un peu cherché au lieu de passer ton temps à nous reposer plusieurs fois la même question, tu aurais trouvé ça:
    http://sql.developpez.com/sqlaz/dml/ en plus du lien que je t'ai donné dans le MP.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 97
    Par défaut
    Alain j'ai pas trouver ton e-mail priver
    alors mon code est entre vos mains (piece jointe) mais il faut changer l'extention de .txt .frm ok
    trouver moi une sol

    rq: stp tu peut me dire en 2 mots comment rendre mes titres comme les votres et merci l'amie
    Fichiers attachés Fichiers attachés

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Voici le contenu du fichier de chagala:
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    VERSION 5.00
    Begin VB.Form Form1 
       Caption         =   "Form1"
       ClientHeight    =   5490
       ClientLeft      =   60
       ClientTop       =   450
       ClientWidth     =   9930
       LinkTopic       =   "Form1"
       ScaleHeight     =   5490
       ScaleWidth      =   9930
       StartUpPosition =   3  'Windows Default
       Begin VB.CommandButton Command1 
          Caption         =   "Command1"
          Height          =   615
          Left            =   7680
          TabIndex        =   2
          Top             =   2280
          Width           =   1695
       End
       Begin VB.TextBox Text1 
          Height          =   495
          Left            =   7560
          TabIndex        =   1
          Text            =   "Text1"
          Top             =   960
          Width           =   2055
       End
       Begin VB.ListBox List1 
          Height          =   450
          Left            =   1440
          TabIndex        =   0
          Top             =   1080
          Width           =   5055
       End
    End
    Attribute VB_Name = "Form1"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    Dim cmd As New ADODB.Command
    Dim connect As ADODB.Connection
    Dim rec As ADODB.Recordset
     
     
    Private Sub Form_Load()
     
        Set connect = New ADODB.Connection
        Set rec = New ADODB.Recordset
        ''Definition du pilote de connexion
        connect.Provider = "Microsoft.Jet.OLEDB.4.0"
        ''Definition de la chaine de connexion
        connect.ConnectionString = "C:\Documents and Settings\est\Bureau\nouv.mdb"
        ''Ouverture de la base de données
        connect.Open
        ''Exécution de la requete
        rec.CursorLocation = adUseClient
     
     
     
        cmd.CommandText = "Update mehdi SET code=Replace(code, 'OS', 'NIV') WHERE code LIKE 'OS%'"
    'cmd.CommandText = "Update mehdi SET code='" & Replace(code, "OS", "NIV") & "' WHERE code LIKE 'OS%'"
    'cmd.CommandText = "Update mehdi SET code='NIV1' + SubString(code, 3, 255)WHERE code LIKE 'OS%'"
        cmd.ActiveConnection = connect
        Set rec = cmd.Execute
     
        connect.Close
    End Sub
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Pour les messages privés, regarde en haut, à droite du forum.
    Tu vois:
    Bienvenue, chagala.
    Votre dernière...

    En dessous, il y a un lien: Messages privés.
    Clique dessus.

    Pour le titre, il suffit de l'écrire correctement.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  8. #8
    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
    bon chagala bravo je vois que tu t'améliore sur ta façon de poster...
    tu n'as toujours pas répondu à une question que je t'ai posé sur l'un de tes premiers posts ...

    Ta base de donnée c'est bien Access 2000 ?

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 97
    Par défaut
    ma base est acces 2002
    mais tous le monde ne peut rependre a une question qui parait tres simple pour un experimenter comme vous
    pour le code vous avez mon code compler alors a vous de jouer

    pour VISTA : pour les [] j'ai essayer meme chose (essayer avant de me donner la sol)

    le voici une autre fois :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    VERSION 5.00
    Begin VB.Form Form1 
       Caption         =   "Form1"
       ClientHeight    =   5490
       ClientLeft      =   60
       ClientTop       =   450
       ClientWidth     =   9930
       LinkTopic       =   "Form1"
       ScaleHeight     =   5490
       ScaleWidth      =   9930
       StartUpPosition =   3  'Windows Default
    end
     
    Attribute VB_Name = "Form1"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    Dim cmd As New ADODB.Command
    Dim connect As ADODB.Connection
    Dim rec As ADODB.Recordset
     
     
    Private Sub Form_Load()
     
        Set connect = New ADODB.Connection
        Set rec = New ADODB.Recordset
        ''Definition du pilote de connexion
        connect.Provider = "Microsoft.Jet.OLEDB.4.0"
        ''Definition de la chaine de connexion
        connect.ConnectionString = "C:\Documents and Settings\est\Bureau\nouv.mdb"
        ''Ouverture de la base de données
        connect.Open
        ''Exécution de la requete
        rec.CursorLocation = adUseClient
     
     
     
        cmd.CommandText = "Update mehdi SET code=Replace(code, 'OS', 'NIV') WHERE code LIKE 'OS%'"
    'cmd.CommandText = "Update mehdi SET code='" & Replace(code, "OS", "NIV") & "' WHERE code LIKE 'OS%'"
    'cmd.CommandText = "Update mehdi SET code='NIV1' + SubString(code, 3, 255)WHERE code LIKE 'OS%'"
        cmd.ActiveConnection = connect
        Set rec = cmd.Execute
     
        connect.Close
    End Sub

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Je ne vois pas pourquoi tu nous repostes le même code...

    En cherchant un peu sur le net, j'ai trouvé ça:
    http://www.lc.leidenuniv.nl/awcourse...102a.htm#78610

    Citation Envoyé par chagala
    alors a vous de jouer
    Faudrait pas nous prendre pour tes serviteurs, non plus.
    Citation Envoyé par chagala
    essayer avant de me donner la sol
    C'est à toi d'essayer. Nous, on te donne des pistes
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  11. #11
    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
    si j'en crois la FAQ :

    http://sql.developpez.com/sqlaz/fonctions/#L1.4

    la fonction Replace n'est pas disponible pour les bases ACCESS..

    tu vas devoir changer de méthode... peu-être une lecture et modification enregistrement/enregistrement...


    un truc du genre :
    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
    Private Sub Form_Load()
     
      Set connect = New ADODB.Connection
      Set rec = New ADODB.Recordset
      ' Definition du pilote de connexion
      connect.Provider = "Microsoft.Jet.OLEDB.4.0"
      ' Definition de la chaine de connexion
      connect.ConnectionString = "C:\Documents and Settings\est\Bureau\nouv.mdb"
      connect.Open
      ' Exécution de la requete
      rec.CursorLocation = adUseClient
      rec.ActiveConnection = connect
      rec.Open "Select * from mehdi WHERE code LIKE 'OS%'", , adOpenStatic, _
                adLockOptimistic, adCmdText
      While Not (rec.EOF)
        rec.Fields("code") = Replace(rec.Fields("code"), "OS", "NIV")
        rec.Update
        rec.MoveNext
      Wend
      Set rec = cmd.Execute
      connect.Close
    End Sub

Discussions similaires

  1. [VB6] Utiliser les "Related Documents" via le code
    Par h12enri dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/09/2013, 08h36
  2. Utiliser les variables dans une requête sql
    Par LaPanic dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/10/2012, 17h08
  3. Réponses: 10
    Dernier message: 27/05/2010, 16h53
  4. [VB6] Utiliser les PopUpMenu
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 29/06/2006, 08h09
  5. Utiliser les forms Access dans un projet ADP -> SQL SERVE
    Par _developpeur_ dans le forum Projets ADP
    Réponses: 12
    Dernier message: 09/12/2005, 12h37

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