Mode sql

Bonjours Mrs,

J'aimerais savoir si cette requête est parfaite.

SELECT 'scolarité.inscriptions[10000]', 'scolarité.1er tranche[20000]', .

ou cette requête
SELECT 'scolarité.([10000])', 'scolarité.([30000])';

J'aimerais savoir ci ce type de requête sont acceptés.

Merci.

14 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjours Mrs,

    Actuellement j'ai attaqué mon formulaire et j'ai envie de faire
    un formulaire en vba.
    J'ai d'abord commencé par le mode graphique
    Mon formulaire est composé de ma table 'classes' et 'élèves'
    +ma table 'scolarité'
    Ensuite sur le formulaire en mode graphique d'abord je vais mettre les champs n
    néccessaire de mes tables. Ensuite j'ai envie de taper ce code en vba:

    Public Function create_form(sql As String) As Boolean
    Dim frm As Form
    Dim rst As Recordset
    dim ctl as control
    dim i, j as integer
    ' --Ouvrir le formulaire en mode modification et caché
    DoCmd.OpenForm "F_AFFICHAGE", acDesign
    , , , , acHidden
    ' --suppression de tous les contrôles avant de les créer de nouveau
    For Each ctl In Forms!F_AFFICHAGE.Controls
    ctl.DeleteControl "F_AFFICHAGE", ctl.Name
    Next ctl
    ' --Source de données de mon formulaire
    Forms![F_AFFICHAGE].RecordSource = sql
    Set rst = Currentdb.OpenRecordset(sql)
    ' --nous ne pensons pas que vous aurez plus de 100 contrôles
    Dim controle(1 To 100) As Control
    ' --Création des contrôles
    If rst.RecordCount <> 0 Then
    i = 1
    j = 1000
    While i < rst.Fields.Count
    ' -- Créer le contrôle i
    Set controle(i) = CreateControl("F_AFFICHAGE", acTextBox)
    ' --lui affecter un nom
    controle(i).Name = "TXT_" & rst.Fields(i).Name
    ' --le positionner sur le formulaire
    controle(i).Left = 100 + j
    ' --Définir sa largeur
    controle(i).Width = 1150
    ' --Définir sa couleur de fond
    controle(i).BackColor = "14742270"
    ' --Définir son effet visuel
    controle(i).SpecialEffect = 0
    controle(i).BackStyle = 0
    controle(i).BorderStyle = 1
    ' --source de données de ce contrôle
    controle(i).ControlSource = rst.Fields(i).Name
    i = i + 1
    j = j + 1150
    Wend
    End If
    ' --Création des entêtes
    j = 1000
    i = 1
    While i < rst.Fields.Count
    Set controle(i) = CreateControl("F_AFFICHAGE", acTextBox, acHeader)
    controle(i).Name = "HD_" & rst.Fields(i).Name
    controle(i).Left = 100 + j
    controle(i).Width = 1150
    controle(i).Height = 700
    controle(i).BackColor = "10081789"
    controle(i).SpecialEffect = 0
    controle(i).BorderStyle = 1
    controle(i).TextAlign = 2
    controle(i).FontWeight = 700
    controle(i).ControlSource = "='" & rst.Fields(i).Name & "'"
    i = i + 1
    j = j + 1150
    Wend
    rst.close
    set rst = Nothing
    ' --Sauvegarder le formulaire
    DoCmd.Save acForm, "F_AFFICHAGE"
    End Function

    Le problème qui se pose à moi est de savoir comment je dois insérer ce code
    en vba. Esceque je dois l'insérer après avoir concue un formulaire en mode graphique
    de mes 2 tables?
    Esceque je dois l'insérer dans la section code du programme Microsoft Visual Basic?
    Car si je le fais directement sans le concevoir par mode graphique?, je pense que Access ne
    vas pas le reconnaitre.
    1. Pourquoi Diable vouloir supprimer un formulaire avant de le recréer??

      Un formulaire n'est qu'un mode d'affichage des données présentes dans la table ou la requête sous-jacente.

      Il me semble à la fois très compliqué et tout à fait inutile de vouloir le créer en VBA.
      1. Bonjours Mrs,

        J'aimerais créer un formulaire en vba parceque il pourrait que avec le vba le formulaire sera plus dynamique et plus puissant que un simple formulaire fait avec Access et l'orsque on fait le formulaire même avec Access on est obligé d'apprendre le language vba.
        Qu'en pensez-vous?

        Merci.
        1. Bonsoir,

          Pour ma part j'aurais crée mes tables grâce à VisData (composant de VB6) et crée des Datas Contrôls style MSFlexgrid (qui une fois définis représentent graphiquement l'aspect d'un bon formulaire).
          Ces datas contrôles auraient été remplis via des requêtes SQL. Cette methode a l'avantage d'être complètement personnalisable et fiable pour la gestion des données.... Bon courage.
          1. Oui, on peut créer une interface avec VB...

            Mais de toute manière, il restera inutile de vouloir détruire et reconstruire les feuilles à chaque utilisation!!

            A moins d'être maso, bien sûr.
            1. Bonjours Mrs,
              Je m'appelle jeff et je suis apprenti-programmeur, je suis entrain de travailler actuellement
              sur un logiciel de gestion pour un établissement scolaire et j'utilise le mode sql.
              J'ai commencé par faire mes tables, ensuite je suis passé au requête en mode SQL, et j'ai un problème
              au niveau des requêtes en mode SQL, car j'ai envie d'insérer les calculs sur mes requêtes en mode SQL,
              Par exemple, dans un établissement scolaire les frais d'inscrptions sont de 3500F
              les frais d'informatique sont de 5000F
              les frais de 1ere tranche de pension sont de 10000f
              les frais de 2eme tranche sont de 10000F
              en mode SQL j'aimerais inclure dans mes requête que si par exemple, un élève paye
              les frais d'informatique+les frais d'inscrptions+50% de la 1ere tranche+50% de la 2eme tranche
              Comment faire pour créer la requête en mode sql de ce type de calcul ?
              comment faire pour que automatiquement la situation de chaque élève se calcule facilement?
              car comme j'utilise le vba pour faire un formulaire dynamique, j'ai envie d'insérer ce type de calcul
              dans le formulaire
              Donc j'aimerais que la situation financière de chaque élève puisse apparaitre sur le formulaire l'orsque on tape
              le nom de l'élève.
              Donc pour cela il faudrait que ma requête SQL soit parfaite pour que le vba puisse reconnaitre
              mes formules.

              Merci.
              1. Bonjours Mrs,

                J'aimerais que vous me donniez la formule d'une requête en mode sql pour effectuer des calculs comme dans mon exemple avec mon logiciel de gestion que je suis entrain de concevoir.
                'frais d'inscription(3500)+frais d'informatique(5000)+1ere tranche(35000)+2eme tranche(17000)

                Merci.
                1. Bonjours Mrs,

                  Je m'appelle jeff et je suis apprenti-programmeur, je suis entrain de travailler actuellement
                  sur un logiciel de gestion pour un établissement scolaire et j'utilise le mode sql.
                  J'ai commencé par faire mes tables, ensuite je suis passé au requête en mode SQL, et j'ai un problème
                  au niveau des requêtes en mode SQL, car j'ai envie d'insérer les calculs sur mes requêtes en mode SQL,
                  Par exemple, dans un établissement scolaire les frais d'inscrptions sont de 3500F
                  les frais d'informatique sont de 5000F
                  les frais de 1ere tranche de pension sont de 10000f
                  les frais de 2eme tranche sont de 10000F
                  en mode SQL j'aimerais inclure dans mes requête que si par exemple, un élève paye
                  les frais d'informatique+les frais d'inscrptions+50% de la 1ere tranche+50% de la 2eme tranche
                  Comment faire pour créer la requête en mode sql de ce type de calcul ?
                  comment faire pour que automatiquement la situation de chaque élève se calcule facilement?
                  car comme j'utilise le vba pour faire un formulaire dynamique, j'ai envie d'insérer ce type de calcul
                  dans le formulaire
                  Donc j'aimerais que la situation financière de chaque élève puisse apparaitre sur le formulaire l'orsque on tape
                  le nom de l'élève.
                  Donc pour cela il faudrait que ma requête SQL soit parfaite pour que le vba puisse reconnaitre
                  mes formules.

                  Merci.
                  1. Bonjours Mrs,
                    Je vous écris encore pour vous dire que j'utilise le langage vba pour faire mon formulaire, et j'ai tapé ce code ci-dessous:

                    Public Function create_foSELECT 'ELEVES.NOM', 'ELEVES.PRENOMS', 'ELEVES.AGE', 'ELEVES.SEXE', 'ELEVES.SEXE', 'ELEVES.BOITE POSTALE', 'ELEVES.E-MAIL'
                    FROM ELEVES;
                    SELECT 'CLASSES 1ER CYCLE.6M1', 'CLASSES 1ER CYCLE.6M2', 'CLASSES 1ER CYCLE.5M1', 'CLASSES 1ER CYCLE.5M2', 'CLASSES 1ER CYCLE.4E ALLEMAND', 'CLASSES 1ER CYCLE.4E ALLEMAND', 'CLASSES 1ER CYCLE.3E ALLEMAND', 'CLASSES 1ER CYCLE.3E ESPAGNOLE'
                    FROM [CLASSES 1ER CYCLE];
                    SELECT 'CLASSES 2E CYCLE.2ND A4 ALLEMAND', 'CLASSES 2E CYCLE.2ND A4 ESPAGNOLE', 'CLASSES 2E CYCLE.2ND C', 'CLASSES 2E CYCLE.1ERE A4 ALLEMAND', 'CLASSES 1ER CYCLE.1ERE A4 ESPAGNOLE', 'CLASSES 2E CYCLE.1ERE C', 'CLASSES 2E CYCLE.1ERE D', 'CLASSES 2E CYCLE.TLE A4 ALLEMAND', 'CLASSES 2E CYCLE.TLE A4 ESPAGNOLE', 'CLASSES 2E CYCLE.TLE C', 'CLASSES 2E CYCLE.TLE D'
                    FROM [classes 2e cycle];
                    SELECT 'SCOLARITE 1ER CYCLE.INSCRIPTIONS[(3500)]', 'SCOLARITE 1ER CYCLE.INFORMATIQUE[(5000)]', 'SCOLARITE 1ER CYCLE.1ERE TRANCHE[(35000)]', 'SCOLARITE 1ER CYCLE.2EME TRANCHE[(17000)]'
                    FROM [SCOLARITE 1ER CYCLE];
                    SELECT 'SCOLARITE 2E CYCLE.INSCRIPTIONS[(3500)]', 'SCOLARITE 2E CYCLE.INFORMATIQUE[(5000)]', 'SCOLARITE 2E CYCLE.1ERE TRANCHE[(45000)]', 'SCOLARITE 2E CYCLE.2EME TRANCHE[(17000)]'
                    FROM [SCOLARITE 2E CYCLE];rm(sql As String) As Boolean
                    Dim frm As Form
                    Dim rst As Recordset
                    dim ctl as control
                    dim i, j as integer
                    ' --Ouvrir le formulaire en mode modification et caché
                    DoCmd.OpenForm "F_AFFICHAGE", acDesign
                    , , , , acHidden
                    ' --suppression de tous les contrôles avant de les créer de nouveau
                    For Each ctl In Forms!F_AFFICHAGE.Controls
                    ctl.DeleteControl "F_AFFICHAGE", ctl.Name
                    Next ctl
                    ' --Source de données de mon formulaire
                    Forms![F_AFFICHAGE].RecordSource = sql
                    Set rst = Currentdb.OpenRecordset(sql)
                    ' --nous ne pensons pas que vous aurez plus de 100 contrôles
                    Dim controle(1 To 100) As Control
                    ' --Création des contrôles
                    If rst.RecordCount <> 0 Then
                    i = 1
                    j = 1000
                    While i < rst.Fields.Count
                    ' -- Créer le contrôle i
                    Set controle(i) = CreateControl("F_AFFICHAGE", acTextBox)
                    ' --lui affecter un nom
                    controle(i).Name = "TXT_" & rst.Fields(i).Name
                    ' --le positionner sur le formulaire
                    controle(i).Left = 100 + j
                    ' --Définir sa largeur
                    controle(i).Width = 1150
                    ' --Définir sa couleur de fond
                    controle(i).BackColor = "14742270"
                    ' --Définir son effet visuel
                    controle(i).SpecialEffect = 0
                    controle(i).BackStyle = 0
                    controle(i).BorderStyle = 1
                    ' --source de données de ce contrôle
                    controle(i).ControlSource = rst.Fields(i).Name
                    i = i + 1
                    j = j + 1150
                    Wend
                    End If
                    ' --Création des entêtes
                    j = 1000
                    i = 1
                    While i < rst.Fields.Count
                    Set controle(i) = CreateControl("F_AFFICHAGE", acTextBox, acHeader)
                    controle(i).Name = "HD_" & rst.Fields(i).Name
                    controle(i).Left = 100 + j
                    controle(i).Width = 1150
                    controle(i).Height = 700
                    controle(i).BackColor = "10081789"
                    controle(i).SpecialEffect = 0
                    controle(i).BorderStyle = 1
                    controle(i).TextAlign = 2
                    controle(i).FontWeight = 700
                    controle(i).ControlSource = "='" & rst.Fields(i).Name & "'"
                    i = i + 1
                    j = j + 1150
                    Wend
                    rst.close
                    set rst = Nothing
                    ' --Sauvegarder le formulaire
                    DoCmd.Save acForm, "F_AFFICHAGE"
                    End Function
                    mais quand j'enregistre mon formulaire que j'ai appelé geff_project , rien n'apparait sur mon formulaire. j'aimerais savoir où se trouve l'erreur, esceque je dois enlever le code " SELECT" que j'ai mis au début de mon formulaire?
                    où esceque mon formulaire est -il incomplet pour que l'affichage soit parfait.

                    Merci.
                    1. Bonjours Mrs,

                      J'aimerais que vous me donniez l'adresse d'un bon éditeur vba pour taper son code et pour faire une bonne compilation et exécuté facilement mes programmes.
                      actuellement je suis entrain d'apprendre à programmer avec vba+Excel. j'aimerais si vous le voulez bien que vous me donniez une adresse d'un site où je pourrais trouver de bon tutoriaux.
                      1. Bonjours Mrs,

                        C'est encore moi , j'ai fais des requêtes en mode création pour insérer des calculs
                        voici les formules que j'ai écrite:
                        inscription(3500) champ1
                        informatique(5000) champ2
                        1ere tranche(35000) champ3
                        2eme tranche(17000) champ4
                        solde totale: ([3500]+[5000]+[35000]+[17000])
                        quand je crée ce type de requête en mode création pour insérer mes calculs cela ne marche pas.
                        mes formules sont-ils imparfait?
                        Quels sont les formules que je dois appliquer pour que ça marche?
                        comme vous le voyez si bien j'ai envie d'insérer des calculs sur mes requêtes.

                        Merci.
                        1. bonjour
                          j'ai une base de donnée mais en sql ,je veux faire la transmission base de donnée en sql vers mysql
                          q'est ce que je doit faire.

                          mérci
                          1. Bonjours Mrs,

                            Je vous re-contacte pour vous dire que mes recherches sur Access avance parfaitement surtout grâce à vos conseils, je vous en remercie. Mais actuellement j'éprouve un autre petit problème avec mes listes déroulantes, car mon pc n'est pas équipée du logiciel assistant donc je suis obligé de faire mes listes déroulantes sans assistant .
                            j'aimerais que vous me dites comment puis-je faire ma liste déroulante sans assistant en passant par le mode création mais sans passer par l'assistant.
                            j'aimerais faire la liste déroulante de 5classes 6e,5e,4e,3e,2e
                            j'aimerais ci ce code en vba est parfait
                            option compare database
                            Me.[6e].requery
                            Me.[5e].requery