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

Access Discussion :

Aide sur requete basique


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Aide sur requete basique
    Bonjour,

    Je démarre dans le sql.
    Je souhaiterais extraire une chaine de caractere d'un champ1 et updater un champ2 :

    1. exemple j'ai une adresse du style :

    45, rue des alouettes de bretagne
    324, rue des alouettes de bretagne

    et je souhaite récuperer uniquement ce qu'il y a derriere la virgule, donc rue des alouettes !

    2. idem si je veux récup' seulement un bout de chaine dans une chaine exemple : 45, rue des alouettes de bretagne

    et je souhaite avoir seulement : alouettes

    merci d'avance pour réponses et désolé pour la syntaxe probablement inapropriée.

    marco

  2. #2
    Membre habitué

    Inscrit en
    Mars 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 92
    Points : 127
    Points
    127
    Par défaut
    Bonsoir,
    Il faut créer une fonction spécifique à placer dans un module:

    Voici le code (qui n'est pas de moi, trouvé sur le net)
    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
    69
    70
    71
    72
    73
    Function fVoieSansNum(ByVal Voie As String) As String
    'Cette fonction reconnait les doubles numéros _
    's'ils sont séparés par un tiret, une virgule ou une esperluette _
    'avec ou sans espaces.
    'Cette fonction peut être utilisée seule ou en 
    'complément de la fonction fNomVoie
    Dim str As String
    Dim bte As Byte, bteFinNum As Byte
    Voie = Replace(Voie, ",", "")
    str = Left$(Voie, 1)
    If Not IsNumeric(str) Then
      fVoieSansNum = Voie
    Else
      bte = 1
      Do
        If IsNumeric(str) Then
          bteFinNum = bte
          Do
            bte = bte + 1
            str = Mid$(Voie, bte, 1)
          Loop Until str <> " "
        Else
          Select Case str
            Case "-", "&"
              Do
                bte = bte + 1
                str = Mid$(Voie, bte, 1)
              Loop While str = " "
              If Not IsNumeric(str) Then
                Exit Do
              End If
            Case "b"
              If Mid$(Voie, bte, 3) = "bis" Then
                Select Case Mid$(Voie, bte + 3, 1)
                  Case " "
                    bte = bte + 3
                    bteFinNum = bte
                    Do
                      bte = bte + 1
                      str = Mid$(Voie, bte, 1)
                    Loop While str = " "
                  Case "-", "&"
                    bte = bte + 3
                    str = Mid$(Voie, bte, 1)
                  Case Else
                    Exit Do
                End Select
              Else
                Select Case Mid$(Voie, bte + 1, 1)
                  Case " "
                    bte = bte + 1
                    bteFinNum = bte
                    Do
                      bte = bte + 1
                      str = Mid$(Voie, bte, 1)
                    Loop While str = " "
                  Case "-", "&"
                    bte = bte + 1
                    str = Mid$(Voie, bte, 1)
                  Case Else
                    'Fin du numéro
                    Exit Do
                End Select
              End If
            Case Else
              'Fin du numéro
              Exit Do
          End Select
        End If
      Loop
      fVoieSansNum = Trim$(Right$(Voie, Len(Voie) - bteFinNum))
    End If
    End Function
    Utilisation de la fonction:

    MsgBox fVoieSansNum("90-92 Rue Meynadier")
    Affiche: Rue Meynadier

    en espérant t'avoir aidé

  3. #3
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Pour répondre à ta question 1,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mid(Adr, InStr(1, Adr, ",") + 1)
    devrait convenir pour extraire ce qui est après la virgule, soit ici
    rue des alouettes de Bretagne
    Pour ta question 2, il faudrait que tu précise la logique qui conduira à extraire 'alouettes' plutôt que 'Bretagne' ou 'rue'.

    Bon courage,

    pgz

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci bcp de vos réponses, je vais essayer tout ca.

    merci

    Marco

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/06/2006, 11h50
  2. Aide sur requete access
    Par Al soltani dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 02/03/2006, 11h58
  3. Besoin d'aide sur requetes imbriquées simples
    Par Kyti dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/03/2006, 10h52
  4. Aide sur requete PHP vers MySQL
    Par pounie dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/02/2006, 15h12
  5. aide sur requete mysql
    Par digger dans le forum Langage SQL
    Réponses: 8
    Dernier message: 14/01/2006, 10h54

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