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

Macros et VBA Excel Discussion :

Requete SQL avec IN [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut Requete SQL avec IN
    Bonsoir,

    Code fonctionnant:

    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
     
    Sub Inf_TDC(Da)
     
        Dim StrSQL As String
     
        If varPartenaire = "OUI" Then
            varPartenaire = "PCO" & Da & "000"
            varDa = "*.*"
        Else
            varPartenaire = "*.*"
            varDa = Da
        End If
     
        Set Cnn = New ADODB.Connection
     
        Cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
        ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";Extended Properties='Excel 12.0;HDR=Yes'"
     
        StrSQL = "SELECT sum(Montant) as MT " & _
            " From BD " & _
            "WHERE PCE = '" _
                    & varCompte _
                & "' AND Partenaire = '" _
                    & varPartenaire _
                & "' AND Segment = '" _
                    & varSegment _
                & "' AND Tp IN " & varTypePiece
     
        Set rs = Cnn.Execute(StrSQL)
     
        Valeur = rs(0)
    End Sub
    Nom : Req 1.jpg
Affichages : 124
Taille : 28,3 Ko

    Code ne fonctionnant plus

    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
     
    Sub Inf_TDC(Da)
     
        Dim StrSQL As String
     
        If varPartenaire = "OUI" Then
            varPartenaire = "PCO" & Da & "000"
            varDa = "*.*"
        Else
            varPartenaire = "*.*"
            varDa = Da
        End If
     
        Set Cnn = New ADODB.Connection
     
        Cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
        ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";Extended Properties='Excel 12.0;HDR=Yes'"
     
        StrSQL = "SELECT sum(Montant) as MT " & _
            " From BD " & _
            "WHERE PCE = '" _
                    & varCompte _
                & "' AND Partenaire = '" _
                    & varPartenaire _
                & "' AND Segment = '" _
                    & varSegment _
                & "' AND Tp IN " & varTypePiece _
                & "' AND CB IN " & varCodeBudgetaire
     
        Set rs = Cnn.Execute(StrSQL)
     
        Valeur = rs(0)
    End Sub
    Nom : Req2.jpg
Affichages : 116
Taille : 23,4 Ko

    Nom : req3jpg.jpg
Affichages : 120
Taille : 40,0 Ko

    Merci pour vos suggestions

    Eric

  2. #2
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 581
    Par défaut
    bonsoir,
    dans Excel les cellule ne sont pas typé en revanche ADO type ses champ par apprentissage il est for possible qu'il est typé CB en Integer!

  3. #3
    Membre confirmé
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut
    Merci pour ta suggestion,

    J'ai remplacé toutes les valeurs du champ CB en alpha pour tester mais malheureusement sans succès.

    Eric

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si ma vue est bonne, il me semble voir une apostrophe orpheline juste après la parenthèse fermante et avant le AND CB IN ("1201...... de la variable StrSQL
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre confirmé
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut
    Dans la ligne StrSQL une apostrophe de trop s'est glissée entre '')' et AND CB IN

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    & " ' AND CB IN " & varCodeBudgetaire
    Merci
    Eric

  6. #6
    Membre confirmé
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut
    N'ayant pas actualisé ma page internet je n'avais pas vu la réponse de Philippe qui répondait au problème. De plus après avoir rectifié l'erreur l'observation de Thumb down sur le typage du champ est important.
    Merci
    Eric

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

Discussions similaires

  1. Requete SQL avec Rand()
    Par leloup84 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/02/2006, 16h41
  2. requete SQL avec valeur max
    Par oeil de nuit dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/01/2006, 08h58
  3. REQUETE SQL AVEC HAVING
    Par juju_77 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 05/08/2005, 09h49
  4. Probleme de requete SQL avec un champs date
    Par ju360modena dans le forum ASP
    Réponses: 5
    Dernier message: 16/06/2005, 11h18
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 14h40

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