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

IHM Discussion :

probleme excécution de requête


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut probleme excécution de requête
    Bonjour, j'ai un problème pour excécuter une requette a partir d'un formulaire access.

    J'ai créer un formulaire avec un champs text pour saisir un numero de semaine.
    Je voudrai que lorsque que l'on appuis sur un bouton il sélectionne les donnée d'une requete en fonction du numero de la semaine et qu'il les mettent dans ue feuille excel deja existante.

    J'ai regardé sur plein de forum et je m'y perd.
    Je n'arrive même pas a exécuter la requete en mode selection avec comme critere le num semaine du form.

    pouvez vous m'aider svp.
    Je met mon code qui ne doit pas etre bon du tout.
    Ce qui est en commentaire cpour exporter les donnée de la requette sous excel. (enfin je pense).

    merci d'avance.

    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
    Private Sub go_Click()
        Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
        Dim str As Integer
        str = Me!numsem.Value
        Dim Query As String
        Dim rs As DAO.Recordset
        Dim db As DAO.Database
        Dim sSQL As String
     
        Set db = CurrentDb
     
        sSQL = "SELECT [En tête].Date, [En tête].Semaine, [En tête].Equipe, Groupe.Groupe, Sum(Production.[NB Palette]) AS [SommeDeNB Palette], Sum(Production.[NB Caisse]) AS [SommeDeNB Caisse] "
        sSQL = sSQL & "FROM ([En tête] INNER JOIN Production ON [En tête].[N° OZP] = Production.[N° OZP]) INNER JOIN Groupe ON [En tête].[N° Groupe] = Groupe.[N° Groupe] "
        sSQL = sSQL & "GROUP BY [En tête].Date, [En tête].Semaine, [En tête].Equipe, Groupe.Groupe "
        sSQL = sSQL & " HAVING ((([En tête].Semaine) =" & [str] & ")) "
        sSQL = sSQL & "ORDER BY [En tête].Date, [En tête].Equipe, Groupe.Groupe;"
        MsgBox (sSQL)
     
        Set rs = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
        rs.Close
     
        'Set xlApp = CreateObject("Excel.Application")
        'xlApp.Visible = True
        'xlApp.workbooks.Open ("C:\Documents and Settings\e98685\My Documents\liaison des fichier\apres/Rendement.xls")
        'xlApp.workbooks("Rendement.xls").sheets("Recup").Activate
     
        'Range("A2").Select
        'Do While Not rs.EOF 'Répéter tant qu'on est pas à la fin
            'ActiveCell.Value = rs.Fields(0) 'on écrit le contenu du champ 1
            'ActiveCell.Offset(0, 1).Value = rs.Fields(1) 'à droite celui du champ 2
            'ActiveCell.Offset(0, 2).Value = rs.Fields(2) '2 colonne à droite celui du champ 3
            'ActiveCell.Offset(0, 3).Value = rs.Fields(3)
            'ActiveCell.Offset(0, 4).Value = rs.Fields(4)
     
            'ActiveCell.Offset(1).Select 'lorqu'on a ecrit tout on descend
            'rs.MoveNext 'on passe à l'enreg suivant (access)
        'Loop 'et on recommence
     
    End Sub

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 028
    Points : 24 579
    Points
    24 579
    Par défaut
    Bonjour,

    Tu as le code dans mon tuto sur la recherche (3ème chapitre de mémoire).

    Cordialement,

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    merci mais j'ai rien compris a tes programme.
    Alors je vais reformuler ma demande.
    Je cherche un code qui me permet d'exécuter une requete qui prend comme critère "where" du champ semaine la valeur saisie dans le text box du formulaire.
    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 028
    Points : 24 579
    Points
    24 579
    Par défaut
    A besoin plus simple réponse plus rapide.

    Tu peux modifier ton code de la sorte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       sSQL = sSQL & " HAVING ((([En tête].Semaine) =" & me.moncontrole & ")) "
    Moyennant l'adaptation suivant le nom de ton controle et également suivant le type de ton champ Semaine.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    je te remercie mais en faite mon probleme ce n'est pas ce qu'il y a dans sSQl car quand je fait msgbox (sSQL) il m'affiche la requete correctement mais quand je l'exécute il ne se passe rien a pars l'affichage de mon msgbox.
    Mon code est il bon?

    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
       Dim str As Integer
        str = Me!numsem.Value
        Dim Query As String
        Dim rs As DAO.Recordset
        Dim db As DAO.Database
        Dim sSQL As String
     
        Set db = CurrentDb
     
        sSQL = "SELECT [En tête].Date, [En tête].Semaine, [En tête].Equipe, Groupe.Groupe, Sum(Production.[NB Palette]) AS [SommeDeNB Palette], Sum(Production.[NB Caisse]) AS [SommeDeNB Caisse] "
        sSQL = sSQL & "FROM ([En tête] INNER JOIN Production ON [En tête].[N° OZP] = Production.[N° OZP]) INNER JOIN Groupe ON [En tête].[N° Groupe] = Groupe.[N° Groupe] "
        sSQL = sSQL & "GROUP BY [En tête].Date, [En tête].Semaine, [En tête].Equipe, Groupe.Groupe "
        sSQL = sSQL & " HAVING ((([En tête].Semaine) =" & [str] & ")) "
        sSQL = sSQL & "ORDER BY [En tête].Date, [En tête].Equipe, Groupe.Groupe;"
        MsgBox (sSQL)
     
        Set rs = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
        rs.Close

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    bon j'ai trouver comment exécuter ma requete seulement je ne sais pas suprimer l'objet dans lequel je la met.
    Du coup si je reclick sur le bouton ca ne marche pas.
    Comment faire pour supprimer l'objet créer?
    merci

    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
    Private Sub Commande18_Click()
    On Error GoTo Err_Commande18_Click
     
        Dim str As Integer
        str = Me.numsem.Value
        Dim Query As String
        Dim rs As DAO.Recordset
        Dim db As DAO.Database
        Dim sSQL As String
        'db = CurrentDb
     
        sSQL = "SELECT [En tête].Date, [En tête].Semaine, [En tête].Equipe, Groupe.Groupe, Sum(Production.[NB Palette]) AS [SommeDeNB Palette], Sum(Production.[NB Caisse]) AS [SommeDeNB Caisse] "
        sSQL = sSQL & "FROM ([En tête] INNER JOIN Production ON [En tête].[N° OZP] = Production.[N° OZP]) INNER JOIN Groupe ON [En tête].[N° Groupe] = Groupe.[N° Groupe] "
        sSQL = sSQL & "GROUP BY [En tête].Date, [En tête].Semaine, [En tête].Equipe, Groupe.Groupe "
        sSQL = sSQL & " HAVING ((([En tête].Semaine) =" & [str] & ")) "
        sSQL = sSQL & "ORDER BY [En tête].Date, [En tête].Equipe, Groupe.Groupe;"
        MsgBox (sSQL)
     
     
        CurrentDb.CreateQueryDef "testerReq", sSQL
        DoCmd.OpenQuery "testerReq", acViewNormal, acReadOnly
        DoCmd.DeleteObject (acQuery = "testerReq")
     
    Exit_Commande18_Click:
    Exit Sub
     
    Err_Commande18_Click:
    MsgBox Err.Description
    Resume Exit_Commande18_Click
    End Sub

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 028
    Points : 24 579
    Points
    24 579
    Par défaut
    Y a un truc que je comprends pas :

    Tu utilises un docmd avec une syntaxe correcte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenQuery "testerReq", acViewNormal, acReadOnly
    Et de suite après tu inventes une syntaxe pour l'autre Docmd !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.DeleteObject (acQuery = "testerReq")

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    bonjour,
    c'est parce que je ne sait pas détruire ou vider l'objet "testerReq".
    Quand je rapuis sur le bouton un message d'erreur apparait me disant que l'objet testerReq existe deja.
    Comment puisje le détruire pour pouvoir réutiliser mon objet?
    merci

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 302
    Points : 185
    Points
    185
    Par défaut
    c bon j'ai trouvé la solution.
    Maintenant il ne me reste plus qu'a exporter les donnée de cette requete dans une feuille excel.
    merci de vous etes penché sur mon probleme.

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

Discussions similaires

  1. Probleme avec une requête MySQL
    Par Alexlesilex dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/05/2006, 17h48
  2. [C#] Probleme avec une requête à condition
    Par discogarden dans le forum Windows Forms
    Réponses: 12
    Dernier message: 22/03/2006, 16h16
  3. [ADO] probleme de multi requête
    Par Grey dans le forum MFC
    Réponses: 3
    Dernier message: 01/12/2005, 16h40
  4. [MySQL] probleme d'une requête SQL crée avec phpmyadmin
    Par ghita269 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 24/10/2005, 10h15
  5. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51

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