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 :

Requête SQL en VBA


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
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Par défaut Requête SQL en VBA
    Bonjour,

    Je souhaite effectuer une requête sur une table d'ACCESS.

    Pour un champs de cette table, le format est de type numérique. Je souhaite qu'elle soit en texte.

    La taille du fichier est trop grande et je ne peux pas modifier le type de cette colonne. J'avais fait le changement en mode création et en créant une requête sur ACCESS. Mais les modifications n'ont pas été prises en compte.

    Je ne sais pas comment faire pour modifier le format d'une colonne d'une table ACCESS à partir d'EXCEL via une requête SQL en VBA. Ou y-a -il d'autres méthodes.


    Par ailleurs je rencontre un souci sur le point suivant :
    Je souhaite faire une requête sur une base ACCESS en utilisant la fonction BETWEEN valeur_min AND valeur_max ; valeur_min et valeur_max étant des entiers de la variable note. Je ne sais pas quand il faut utiliser " " ou '" "' et la bonne syntaxe.


    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Alors...

    Pour la première question, j'ai du mal à comprendre.
    Tu as une table access qui contient une colonne en numérique et tu veux modifier la colonne de la table Access en type texte, mais depuis Excel uniquement. C'est bien cela ?
    Si oui, pourquoi ne pas le faire directement dans Access ?

    Pour la deuxième, on ne met les valeurs entre ' ' que lorsqu'il s'agit de texte. Si ce sont des dates, ce sera entre # #, sinon, il n'y a pas de délimiteurs. A moins que tu appelles un champs, auquel cas, pour faire référence à un nom, on met ce nom entre [].

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Par défaut
    Bonjour,

    En fait je n'arrive pas à sauvegarder les modifications apportées sur ACCESS en raison de la taille trop volumineuse du fichier.

    Dans une table, il y a une colonne "note" de format numérique.

    Je ne sais pas comment faire pour que la requête fasse where note=10 ou note=15 par exemple.

    Pour le second point, si j'ai bien compris, pour val_min et val_max on ne met pas de ' ?

    Merci d'avance pour ton aide.

  4. #4
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Toujours pas compris... désolé.
    Prends un peu de temps pour expliquer EXACTEMENT ce que tu veux, en imaginant que nous sommes tous de sombres abrutis qui n'ont pas tes compétences et connaissances dans le domaine que tu maîtrises et que tu as, toi, un soucis que nous seuls pouvons solutionner. Ne serait-il pas intéressant de bien prendre le temps de nous expliquer au mieux ce que tu rencontres comme difficulté, ce que tu aimerais, ... et ce le plus précisément possible ?
    Merci !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 71
    Par défaut
    Bonsoir,

    La taille du fichier ACCESS est en mégaoctet donc taille trop grande. A chaque fois que j'essaie de sauvegarder une modification, cela échoue (problème de taille de la mémoire).

    Pour changer de format de la colonne "note", j'avais tenté de modifié la table en mode création et j'avais fait une requête sur ACCESS en utilisant la fonction ALTER. Cela n'a pas eu d'effet car les modifications n'ont pas pu être sauvegardées.

    Sur EXCEL, j'ai essayé de faire une requête SQL en VBA. Mais j'ai un problème de compatibilité de données.

    select champs from tabl1 where (note) = "" & tab_note(i) & "" ; note étant un champs de la table - type = numérique ; tab_note (20) est sur EXCEL est de type variant (car il y a du texte, des entiers,...)

    Je ne sais pas comment faire pour rectifier le problème de compatibilité de donnée.

    Par ailleurs, je rencontre des difficultés de syntaxe sur les requêtes SQL en VBA :

    between val_min and val_max ; les 2 variables étant des entiers choisis par l'utilisateur ; faut-il utiliser ' & var & ' ou " & var & " ?

    pour la fonction like : je souhaite rechercher des noms commençant par la lettre définie par l'utilisateur via inputbox, la syntaxe est du type like " & var " & '%' ? Je ne sais pas quelle est la syntaxe correcte pour associer like et %.

    Merci d'avance pour ton aide.

  6. #6
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Citation Envoyé par cati_78 Voir le message
    La taille du fichier ACCESS est en mégaoctet donc taille trop grande.
    Décidément, il y a quelque chose qui ne va pas !
    La taille maximale pour l'ouverture d'une base dans Access est de 2GO (depuis la version 2000 et 1Go avant)
    Donc, que la taille soit en méga ne pose AUCUN problème.
    Comme j'ai déjà ouvert des fichiers de plusieurs mega aussi bien dans Excel que dans Access, je ne comprends pas pourquoi le fait que ton fichier fasse plusieurs Mega fait que la taille est trop grande !

    Citation Envoyé par cati_78 Voir le message
    A chaque fois que j'essaie de sauvegarder une modification, cela échoue (problème de taille de la mémoire).
    Là, je dirai que tu as un problème avec le fichier qui doit être corrompu. Car, j'élimine d'office le fait qu'un fichier de quelques mega (ou dizaines ou même centaines) de mega pose un problème de sauvegarde...
    Essaie de compacter la base. Si tu as des problèmes d'ouverture, tu peux essayer d'utiliser JetComp4
    Une fois la base compactée, tu devrais pouvoir récupérer une base en état de fonctionnement, et pouvoir modifier la structure de ta table en mode création.

    Pour la syntaxe SQL en VBA :
    Moncritere = "WHERE MonChamp Between " & valMin & " AND " & valMax
    Moncritere = "WHERE MonChamp Like" & Chr(34) &varInPut & "*" & Chr(34)

Discussions similaires

  1. Requête SQL en VBA
    Par taisherg dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/06/2007, 15h36
  2. Requête SQL en VBA
    Par e040098k dans le forum VBA Access
    Réponses: 14
    Dernier message: 27/04/2007, 11h50
  3. Réponses: 6
    Dernier message: 15/02/2007, 13h46
  4. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  5. Conversion d'une requête SQL en VBA
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 26/10/2004, 17h33

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