|
|
|
|
Cf la réponse sur votre post précédent... |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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 |
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 |
| 27/07 03h35 | Utiliser SQLPlus sous Linux | Oracle |
| 14/04 17h17 | Modes de Windows | Windows 3.1 |
| 14/04 17h37 | Démarrage de Windows sous un mode spécifique | Windows 3.1 |
| 01/06 19h14 | Actulice | Sécurité |
| 13/10 15h38 | Modifier la lettre d'un lecteur | Windows XP |
| 04/06 21h28 | Diagramme en Mode SQL | 0 |
| 04/06 21h26 | Diagramme en Mode SQL ,MS SQL server 2000 | 0 |
| 01/12 17h02 | Access mode sql | 1 |
| 02/06 13h41 | [SQL] modifié un élément d'une table | 2 |
![]() | ModPlug Player - MODPlug est un lecteur permettant de lire des fichiers MOD, c'est-à-dire des pistes de séquenceurs (trackers), mélant des... | Catégorie: Lecteurs audio Licence: Freeware/gratuit |
![]() | WAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de... | Catégorie: Serveurs Licence: Freeware/gratuit |
![]() | Toutes les extensions (petits modules complémentaires) de Firefox - Au lieu d'énumérer toutes les extensions (petits modules complémentaires) de Fire fox , allez dans le menu outils de... | Catégorie: Extensions Firefox Licence: Freeware/gratuit |
![]() | Module de compatibilité pour Office System 2007 - Les formats de fichiers générés par le nouveau Microsoft Office 2007 sont différents des versions antérieures. Ce changement... | Catégorie: Suite bureautique Licence: Freeware/gratuit |
![]() | IBM 56K V.90 Fax | Catégorie: Modem | 33.58 € Amazon.fr |
![]() | Sitecom DC-225 DSL-Modem External | Catégorie: Modem | 43.65 € Amazon.fr |
![]() | Tornado V92/56K Fax/Modem External | Catégorie: Modem | 68.79 € Amazon.fr |
![]() | Nokia Modul LD-3W | Catégorie: GPS | 79.45 € Amazon.fr |