Accueil > > > IMPLEMENTATION AUTOMATIQUE DE RECORDSET POUR TOUS LES PROVIDERS, PASSER LE RECORDSET EN PARAMÈTRE ET IL GÈRE TOUT SEUL AJOUTER/MODIFIER/SUPPRIMER, TRIER, FILTRER ET VISUALISER
IMPLEMENTATION AUTOMATIQUE DE RECORDSET POUR TOUS LES PROVIDERS, PASSER LE RECORDSET EN PARAMÈTRE ET IL GÈRE TOUT SEUL AJOUTER/MODIFIER/SUPPRIMER, TRIER, FILTRER ET VISUALISER
Information sur la source
Description
C'est très embetant de devoir créer autant de formulaires pour les tables de références de votre application. Ceci est une solution à ce problème, hors mis les bugs que vous y decouvrirez.
Son principe est simple, il s'agit de spécifier lui passer le recordset en paramètre (quel que soit le provider), le module fait la reconnaissance automatique des champs du recordset, et construit dynamiquement les contrôles pour l'ajout/modification des données. Il n'ya pas de limitation sur le nombre de champs. Un paramètre permet de redimensionner dynamiquement tous les contrôles du formulaire. Le clic sur le bouton visualiser renvoie l'IDCommande, La chaine de tri et la chaine de filtre qui peut être dans une procédure pour affichage de l'état.
Un paramètre permet également de définir le mode d'affichage (implémentaion ou lecture seule)
L'exemple publié permet de voir 3 possibilités:
ACCESS comme driver, Excel comme driver(j'ai pas su passé la commande) et Microsoft Text comme driver.
Il est possible de faire des tris sur un champ ou de faire des filtres sur un champ. Pour ce dernier cas vous constaterez qu'il y'a des ameliorations.
Source
- 'Voici trois exemples qui permettront d'exploiter cet implementateur de table
-
- 'Partant des constantes suivantes qui peuvent se multiplier pour autant de Driver
-
- Public Const Const_InitAccessConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0"
- Public Const Const_InitExcelConnectionString = "driver={Microsoft Excel Driver (*.xls)};DriverId=790;ReadOnly=0;FirstRowHasNames=1"
- Public Const Const_InitAsciiConnectionString = "driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27"
-
- Dim Cnx1 As ADODB.Connection, Cnx2 As ADODB.Connection, Cnx3 As ADODB.Connection
-
- Sub main()
- Dim StrCnx1 As String, StrCnx2 As String, StrCnx3 As String
- Dim EditeurRecordset1 As Cl_EditeurRecordset
- Dim EditeurRecordset2 As Cl_EditeurRecordset
- Dim EditeurRecordset3 As Cl_EditeurRecordset
-
-
- 'Exemple d'appel du module pour une table ACCESS
- StrCnx1 = Const_InitAccessConnectionString & ";Data Source=" & App.Path & "\DATA\ACCESS\" & Const_DataBaseName & ";Jet OLEDB:Database Password=" & Const_Pwd
- Set EditeurRecordset1 = New Cl_EditeurRecordset
- Set Cnx1 = AdodbConnection(StrCnx1)
- With EditeurRecordset1
- Set .AdodbConnection("T_Ports") = Cnx1
- .Init , "Implementation d'une table ACCESS", , 80 / 100
- .Run
- End With
-
- 'Exemple d 'appel du module pour une feuille EXCEL
- StrCnx2 = Const_InitExcelConnectionString & ";DBQ=" & App.Path & "\DATA\EXCEL\CAISSE.xls"
- Set EditeurRecordset2 = New Cl_EditeurRecordset
- Set Cnx2 = AdodbConnection(StrCnx2)
- With EditeurRecordset2
- Set .AdodbConnection("DATA$") = Cnx2
- .Init , "Implementation d'une feuille EXCEL"
- .Run
- End With
-
- 'Exemple d'appel du module pour un fichier ASCII
- StrCnx3 = Const_InitAsciiConnectionString & ";DBQ=" & App.Path & "\DATA\ASCII"
- Set EditeurRecordset3 = New Cl_EditeurRecordset
- Set Cnx3 = AdodbConnection(StrCnx3)
- With EditeurRecordset3
- Set .AdodbConnection("ExportGeolog.txt") = Cnx3
- .Init , "Implementation d'un fichier ASCII", False, 75 / 100
- .Run
- End With
- End Sub
'Voici trois exemples qui permettront d'exploiter cet implementateur de table
'Partant des constantes suivantes qui peuvent se multiplier pour autant de Driver
Public Const Const_InitAccessConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0"
Public Const Const_InitExcelConnectionString = "driver={Microsoft Excel Driver (*.xls)};DriverId=790;ReadOnly=0;FirstRowHasNames=1"
Public Const Const_InitAsciiConnectionString = "driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27"
Dim Cnx1 As ADODB.Connection, Cnx2 As ADODB.Connection, Cnx3 As ADODB.Connection
Sub main()
Dim StrCnx1 As String, StrCnx2 As String, StrCnx3 As String
Dim EditeurRecordset1 As Cl_EditeurRecordset
Dim EditeurRecordset2 As Cl_EditeurRecordset
Dim EditeurRecordset3 As Cl_EditeurRecordset
'Exemple d'appel du module pour une table ACCESS
StrCnx1 = Const_InitAccessConnectionString & ";Data Source=" & App.Path & "\DATA\ACCESS\" & Const_DataBaseName & ";Jet OLEDB:Database Password=" & Const_Pwd
Set EditeurRecordset1 = New Cl_EditeurRecordset
Set Cnx1 = AdodbConnection(StrCnx1)
With EditeurRecordset1
Set .AdodbConnection("T_Ports") = Cnx1
.Init , "Implementation d'une table ACCESS", , 80 / 100
.Run
End With
'Exemple d 'appel du module pour une feuille EXCEL
StrCnx2 = Const_InitExcelConnectionString & ";DBQ=" & App.Path & "\DATA\EXCEL\CAISSE.xls"
Set EditeurRecordset2 = New Cl_EditeurRecordset
Set Cnx2 = AdodbConnection(StrCnx2)
With EditeurRecordset2
Set .AdodbConnection("DATA$") = Cnx2
.Init , "Implementation d'une feuille EXCEL"
.Run
End With
'Exemple d'appel du module pour un fichier ASCII
StrCnx3 = Const_InitAsciiConnectionString & ";DBQ=" & App.Path & "\DATA\ASCII"
Set EditeurRecordset3 = New Cl_EditeurRecordset
Set Cnx3 = AdodbConnection(StrCnx3)
With EditeurRecordset3
Set .AdodbConnection("ExportGeolog.txt") = Cnx3
.Init , "Implementation d'un fichier ASCII", False, 75 / 100
.Run
End With
End Sub
Conclusion
Je suis habitué à developper sous ACCESS, après avoir lu la plupart de vos sources depuis un bon bout déjà j'ai decide de me jetter et c'est ma première source serieuse en VB.
Alors étant habitué aux requêtes avec DAO, il est clair que je ne maitrise pas bien les requêtes avec ADO.
Les evenements avant mise à jour et après mis à jour n'ont pas été rigoureusement pour les chmaps de filtre.
Toutes les remarques et suggestions sont les biens venus.
A+
Asimengo
Historique
- 05 août 2005 21:20:44 :
- ça pas marché avec le Zip, pourquoi je sais pas alors j'ai essayé sans.
- 06 août 2005 14:22:18 :
- Pour cette modif je change juste dans la présentation l'extrait du code source, qui est cette fois identique à l'exemple se trouvant dans le Zip. je n'arrive toujours pas à uploader le Zip, j'espère pouvoir y arriver.
- 06 août 2005 15:37:50 :
- Test d'ajout du zip, sera a changer.
- 06 août 2005 17:29:08 :
- test 2
- 08 août 2005 13:58:35 :
- Modifications apportées à la source:
- Redimensionnement dynamique du formulaire et de ses controles e fonction des valeurs d'initialisation
- Spécification du mode de travail (implémentation ou Lecture seule)
- Passage des informations du recordset à une procédure externe pour l'affichage des résultats
- Reorganisation des procédures pour une meilleure lisibilité
- 18 août 2006 12:39:16 :
- Ajout du Zip dans la source . Il s'agit du zip version du 08/08/2005, donc pas de mise à jour. les modifications seront publiés ultérieurement.
- 18 août 2006 12:39:18 :
- Ajout du Zip dans la source . Il s'agit du zip version du 08/08/2005, donc pas de mise à jour. les modifications seront publiés ultérieurement.
- 18 août 2006 12:39:20 :
- Ajout du Zip dans la source . Il s'agit du zip version du 08/08/2005, donc pas de mise à jour. les modifications seront publiés ultérieurement.
- 18 août 2006 12:41:13 :
- Ajout du Zip dans la source . Il s'agit du zip version du 08/08/2005, donc pas de mise à jour. les modifications seront publiés ultérieurement.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Connection sur DB Access (Ado, Dao...) [ par David2410 ]
Salut les champions, j'ai un prob, j'ai un formulaire avec des listes déroulantes, j'ai mis un contrôle Ado par liste déroulantes, plus un contrôle AD
ADO sous access [ par scoder ]
bonjour, je bloque sur un truc tout con que j'ai déjà fait à maintes reprises mais là ça ne passe pas....j'ai les variables globales suivantes :Dim cn
ado sous access [ par scoder ]
bonjour, je bloque sur un truc tout con que j'ai déjà fait à maintes reprises mais là ça ne passe pas....j'ai les variables globales suivantes :Dim cn
ADO, RecordSet, SQL & Access [ par jpbest85 ]
BonjourJe réalise un petit programme en VB6 dans lequel j'intérroge et modifie une base access.Je fais dc un Select sur ma base (je récupère donc un r
VB6-Access avec ADO [ par esquimau ]
Bonjour, j'utilise un recordset et j'ai un petit problème pour compter le nombre d'enregistrements avec la commande recordset.recordcount. En fai
Ado gérer 2 table avec ACCESS [ par JeffC1977 ]
Salut... J'utilse ADO et VB6 et ACCESS J'ai un petit problème... Bon je ne suis même pas certain que ca se fais... Surement mais si ca fo
Ado gérer 2 table avec ACCESS [ par JeffC1977 ]
Salut... J'utilse ADO et VB6 et ACCESS J'ai un petit problème... Bon je ne suis même pas certain que ca se fais... Surement mais si ca fo
Pas d'insertion mais pas d'erreur non plus [ par narfight ]
Bonjour,Je suis en train de débuter sur Access et je suis bloqué au début.Mon programme boucle pour inséré dans un DB des nombres ... c'est pour comme
Connection BDD Access [ par croftman ]
Bonjour!Voila je voudrais pouvoir ouvrir une BDD, la lire puis la modifier... enfin la routine quoi 8-)Mais voila, lorsque je veux me connecter à ma b
connection access en ouverture d'excel [ par jahworks ]
bonjour,j'ai la fonction suivanteFunction packing2(champs, letag, leprojet, litemeqpt As String) Dim source As ADODB.ConnectionDim t_list As AD
|
Derniers Blogs
PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio
Forum
FONCTION EXCEL VBAFONCTION EXCEL VBA par samanta26
Cliquez pour lire la suite par samanta26
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|