Bonjour à tous,
cette discussion fait suite à la discussion initiale Besoin d'aide sur un Projet VB6 Access 2003
grâce à vous, je peux créer une connexion VB Access 2003, consulter une table et enregistrer des données à l'aide d'un formulaire.
voici des passages de code montrant ces avancées : une partie est masquée, notamment les noms, en raison d'un projet privé et que la BD doit être déclaré à la CNIL (Commission nationale de l'informatique et des libertés) :
module
form
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 Option Explicit Public MaBase As ADODB.Connection Public MaTable As ADODB.Recordset 'variable ADO qui va contenir une table BD ou le rÈsultat d'une requÍte' Public MaRequete As String 'variable qui va contenir les requÍtes SQL' Public NomDeLaTable As String 'variable qui va contenir le nom de la table o˘ on va faire des changements' Public Reponse As Integer 'variable qui contient la rÈponse une question YesNo ou une fonction qui retourne un nombre' Public LaDate As Date 'varaible qui va contenir une date' Public Sub ConnectionBase() Set MaBase = New ADODB.Connection 'dÈfinition d'une connection avec une base' MaBase.CursorLocation = adUseClient: MaBase.Mode = adModeReadWrite 'dÈfinition de la position de la bibliothËque_ 'de curseur et le mode de consultation de la base : ici, lecture et Ècriture' MaBase.Provider = "Microsoft.Jet.OLEDB.4.0" 'dÈfinie le fournisseur de la connection' MaBase.ConnectionString = App.Path & "\***************.mdb" 'chemin de la base ; masquÈe pour les raisons ci-dessus' MaBase.Open 'ouverture de la base' End Sub Public Sub FermetureBase() MaBase.Close 'fermeture de la connexion' Set MaBase = Nothing 'rÈinitialisation de la variable connexion' End Sub
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 Private Sub cmdEnregistrer_Click() If txtChamp1 = vbNullString Or txtChamp2 = vbNullString Or txtChamp3 = vbNullString Then MsgBox ("Les champs obligatoires (*) sont vides!"), vbCritical, "Erreur" Else Reponse = MsgBox("Voulez-vous vraiment enregistrer ces donnÈes ?", vbYesNo, "Confirmer Enregistrement...") If Reponse = vbYes Then Set MaTable = New ADODB.Recordset NomDeLaTable = "TableBD" MaTable.Open NomDeLaTable, MaBase, adOpenStatic, adLockPessimistic MaTable.AddNew MaTable![Champ1 de Table BD] = Champ1.Text MaTable![Champ2 de Table BD] = Champ2.Text MaTable![Champ3 de Table BD] = Champ3.Text MaTable![Champ4 de Table BD] = Champ4.Text MaTable![Champ5 de Table BD] = Champ5.Text MaTable![Champ6 de Table BD] = Champ6.Text MaTable.Update MsgBox "Enregistrement rÈussi!", vbOKOnly, "Enregistrement" EffacerFormulaire 'fonction permettant d'effacer le dit-formulaire' End If End If Champ1.SetFocus End Sub
je fais de nouveau appel à vous car je voudrais savoir :
1) naviguer dans une table et plus particulièrement à la dernière entrée de cette dite-table.
est-ce de forme ?
2) Effectuer une requête SQL (avec jointure) et afficher la table résultat (par la suite, j'envisage une listview mais faisons simple pour commencer) ainsi que naviguer dans cette dite table (prendre un enregistrement pour ensuite par ex, aller chercher un document associé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Do While Not(Matable.recordset.EOF) Matable.recordset.MoveNext Loop
Partager