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 :

Problème SQL dans VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Basicnav
    Profil pro
    Inscrit en
    Février 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2008
    Messages : 245
    Par défaut Problème SQL dans VBA
    Bonjour,

    j'ai une requêtte SQL intégrée dans mon vba qui pointe vers une base Oracle, j'ai un problème de syntaxe avec la date système que je dois tronquer (et oui, oracle met l'heure dans ses date...)

    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
    Private Sub CommandButton1_Click()
    USER = "utilisateur"
    MDP = "motdepasse"
    DRV_ODBC = "Microsoft ODBC for Oracle"
    INSTANCE = "adressebasededonnée"
    PL_SQL = "SELECT DISTINCT NUM_ORDRE_TRANSP FROM colis  WHERE TRANSPORTEUR='montransporteur' and dat_creation=trunc(sysdate)"
     
    With ActiveSheet.QueryTables.Add(Connection:= _
    "ODBC;DRIVER={" & DRV_ODBC & "};UID=" & USER & ";PWD=" & MDP & ";SERVER=" & INSTANCE & ";", Destination:=ActiveCell)
    .Sql = PL_SQL
    .HasAutoFormat = False
    .Refresh BackgroundQuery:=False
    End With
     
    End Sub
    tout fonctionne bien si ma requette s'arrête à :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT NUM_ORDRE_TRANSP FROM colis  WHERE TRANSPORTEUR='montransporteur'

    dès que je mets la date rien ne fonctionne, j'ai des difficulté avec les dates sous SQL
    Quelqu'un peux me guider ? Si toutefois je suis dans le bon forum

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Hormis le format exact de ce que Oracle attend, il me semble que la date doit également être entre '
    Tu dis aussi, que si tu n'utilise pas la date ça tourne, mais je suis surpris que montransporteur (si c'est bien une variable) retourne ce qui est attendu alors qu'il est entre guillement.

    J'écrirais donc, si trunc est la "manip" adéquoite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    PL_SQL = "SELECT DISTINCT NUM_ORDRE_TRANSP FROM colis  WHERE TRANSPORTEUR=' " & montransporteur & " ' and dat_creation=' " & trunc(sysdate) & " ' "
    ...
    A+

Discussions similaires

  1. [XL-2007] Problème requête sql dans vba
    Par Alex70 dans le forum Excel
    Réponses: 1
    Dernier message: 21/08/2013, 11h48
  2. Problème avec requête SQL dans VBA
    Par Mimisio dans le forum VBA Access
    Réponses: 10
    Dernier message: 13/07/2007, 11h00
  3. Problème SQL dans code VBA
    Par benjisan dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 15/05/2007, 13h22
  4. Utiliser du code SQL dans VBA
    Par a2line dans le forum Requêtes et SQL.
    Réponses: 25
    Dernier message: 30/05/2006, 14h53
  5. Problème SQL dans une bdd de projets et de chef
    Par loutsky dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/03/2006, 17h01

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