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

Requêtes et SQL. Discussion :

Programmer une execution de plusieurs requetes sql suivant certaines conditions


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 25
    Points : 19
    Points
    19
    Par défaut Programmer une execution de plusieurs requetes sql suivant certaines conditions
    Bonjour,

    Je viens vous demander conseiller car je ne trouve pas mon bonheur sur le web.

    Je dispose de base access dans laquelle j'ai crée un formulaire pour importer les rendez-vous et les occurrences Outlook avec le code suivant:

    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
     
    Private Sub Commande21_Click()
    'Outlook
    Dim olApp As Outlook.Application
    Dim ns As Outlook.NameSpace
    Dim cf As Outlook.MAPIFolder
    Dim ai As Outlook.AppointmentItem
    Dim rp As Outlook.RecurrencePattern
    Dim it As Outlook.Items
    Dim op As Outlook.AppointmentItem
    'SQL
    Dim db As DAO.Database
    Dim myrst As DAO.Recordset
    MaTable = "RDVOutlook"
    MaTable2 = "ReccurenceRDVOutlook"
    'Rendez-vous
    Dim cfsubject As Variant
    Dim cfdebut As Date
    Dim cffin As Date
    Dim cflieu As Variant
    Dim cfcat As Variant
    Dim cfrecur As Variant
    Dim cfreminstart As Variant
    Dim cfremin As Boolean
    Dim cfallday As Boolean
    Dim cfbody As Variant
    Dim cfcomp As Variant
    Dim cfdur As Variant
    Dim cfenid As Variant
    Dim cfgaid As Variant
    Dim cfimp As Variant
    Dim cfirec As Boolean
    Dim cfoa As Variant
    Dim cforg As Variant
    Dim cfrec As Variant
    Dim cfsens As Variant
    Dim cfbs As Variant
    'Reccurrence des rendez-vous
    Dim rpendt As Date
    Dim rpdura As Variant
    Dim rpdwm As Variant
    Dim rpexep As Variant
    Dim rpinst As Variant
    Dim rpinter As Variant
    Dim rpned As Boolean
    Dim rpoccu As Variant
    Dim rpped As Date
    Dim rppsd As Date
    Dim rpst As Date
    Dim rprt As Variant
    Dim rpp As Variant
     
    Set db = CurrentDb
    Set olApp = CreateObject("Outlook.Application")
    Set ns = olApp.GetNamespace("MAPI")
    Set cf = ns.GetDefaultFolder(olFolderCalendar)
    Set it = cf.Items
     
     
    For Each ai In cf.Items
     
    cfsubject = ai.Subject
    cfdebut = ai.Start
    cffin = ai.end
    cflieu = ai.location
    cfcat = ai.Categories
    cfrecur = ai.RecurrenceState
    cfreminstart = ai.ReminderMinutesBeforeStart
    cfremin = ai.ReminderSet
    cfallday = ai.AllDayEvent
    cfbody = ai.body
    cfcomp = ai.Companies
    cfdur = ai.duration
    cfenid = ai.EntryID
    cfgaid = ai.GlobalAppointmentID
    cfimp = ai.Importance
    cfirec = ai.IsRecurring
    cfoa = ai.OptionalAttendees
    cforg = ai.Organizer
    cfsens = ai.Sensitivity
    cfbs = ai.BusyStatus
     
    Set ait = it(cfsubject)
    Set rp = ait.GetRecurrencePattern
     
    rpendt = rp.EndTime
    rpdura = rp.duration
    rpdwm = rp.DayOfWeekMask
    rpinst = rp.Instance
    rpinter = rp.Interval
    rpmoy = rp.MonthOfYear
    rpned = rp.NoEndDate
    rpoccu = rp.Occurrences
    rpped = rp.PatternEndDate
    rppsd = rp.PatternStartDate
    rpst = rp.StartTime
    rprt = rp.RecurrenceType
     
    sSQLInsert = "INSERT INTO " & MaTable & " ([Sujet],[Debut],[Fin],[Lieu],[Categorie],[Statut recurrence] ,[Rappel] , [BRappel] , [Journee entiere] , [Description], [Companies associer] , [Duree] , [Identificateur entree] , [Identificateur global] , [Importance] , [RDV reccurent] , [Participant facultatif] , [Organisateur] , [Critere diffusion] , [Disponibilite]) VALUES ( '" & cfsubject & "','" & cfdebut & "','" & cffin & "','" & cflieu & "','" & cfcat & "', '" & cfrecur & "','" & cfreminstart & "', '" & cfremin & "' ,'" & cfallday & "', '" & cfbody & "', '" & cfcomp & "', '" & cfdur & "', '" & cfenid & "', '" & cfgaid & "', '" & cfimp & "', '" & cfirec & "', '" & cfoa & "', '" & cforg & "','" & cfsens & "','" & cfbs & "' )"
    sSQLInsert2 = "INSERT INTO " & MaTable2 & " ([Jours semaine] ,[Duree] ,[Heure fin periodicite] ,  [Duree periodicite] , [Interval] ,[Mois periodicite] ,[Sans fin] ,[Nb occurrence] ,[Date fin periodicite] ,[Date debut periodicite] ,[Periodicite] ,[Heure debut periodicite] ) VALUES ( '" & rpdwm & "','" & rpdura & "','" & rpendt & "','" & rpinst & "', '" & rpinter & "','" & rpmoy & "', '" & rpned & "' ,'" & rpoccu & "', '" & rpped & "', '" & rppsd & "', '" & rprt & "', '" & rpst & "')"
     
             'requete insert
     db.Execute sSQLInsert, dbFailOnError
     db.Execute sSQLInsert2, dbFailOnError
     
    'enregistrement suivant
     
     
     
    Next
     
    Set cf = Nothing
    Set ns = Nothing
    Set olApp = Nothing
     
    Set myrst = Nothing
    db.Close
    End Sub
    J'aurais besoin d'inclure les conditions suivante:
    executer la requete2 que si dans la requete1, le champs cfirec est egal a True

    J'ai essayer avec la fonction iif mais j'ai une erreur a chaque fois.

    Auriez vous une idee

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Salut,

    pourquoi ne pas utiliser simplement un if dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ...
     
     'requete insert
     db.Execute sSQLInsert, dbFailOnError
     
       if cfirec=true then
          db.Execute sSQLInsert2, dbFailOnError
       end if
     
    ...
    a+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 25
    Points : 19
    Points
    19
    Par défaut
    Ah d'accord,merci, c'est comme ça qu'elle s'utilise, j'avais essayé mais avec la même méthode que Access.

    Tu aurais pas un bon petit tutoriel pour les requêtes sql, car je pense que j'en aurais encore besoin. Je connais un peu le vba, html, Access,..., mais c'est vrai qu'en sql j'y connais rien.
    J'avais trouver des site mes ça expliquer pas trop le fonctionnement, il te mets le code en brut et débrouille toi.

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Tu veux dire avec le QBE ?

    J'ai trouvé ça pour créer des requêtes simples :
    http://jeannot45.developpez.com/arti...tionrequetes1/

    Ou alors avec l'éditeur SQL :
    http://access.developpez.com/sql/

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 25
    Points : 19
    Points
    19
    Par défaut
    Super merci du coup j'ai essayer et ca fonctionne nikel.

    Du coup quand je disais access c'etait le QBE je savait pas que ca avait un nom.

    merci pour les liens

Discussions similaires

  1. [MySQL] Executer plusieurs requetes sql
    Par Kenshin86 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 15/01/2009, 23h06
  2. [OCI] une erreur dans l'execution pour cette requete SQL
    Par Abdelkaoui dans le forum Interfaces de programmation
    Réponses: 2
    Dernier message: 14/09/2007, 12h29
  3. [SQL] Executer plusieurs requete sql
    Par fadex dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/02/2007, 15h08
  4. Réponses: 2
    Dernier message: 23/11/2006, 14h02
  5. [CR8.5] Comment executer ses propres requetes SQL.
    Par caviar dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 26/10/2004, 20h44

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