Tuto VB/Access

MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   -  
Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je dois réaliser une base de temps avec le couple VB6 / Access.

Je recherche donc des tutos car je n'ai jamais utilisé ni l'un, ni l'autre.

Merci.
A voir également:

284 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
déjà pour access..
https://mhubiche.developpez.com/Access/cours/bases/
A+
EDIT:
J'ai retrouvé ca .. pour VB6
https://vb.developpez.com/cours/
1
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Je les avait trouvés mais merci quand même. ^^
0
Claire
 
1
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Je te remercie mais ça fait 1 mois que j'utilise ce tuto en plus de certains autres. ^^

Et puis j'ai l'aide du master Polux, en cas de pépins, donc tout vas pour le mieux.
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Salut Polux. :)

(plus de 615 posts quand même).

Comment ça va bien ?
Prêt pour un we de 3 jours ?

Dis, est ce que tu t'es déjà servi d'ArrayList ?

J'ai éssayé de faire comme indiqué ici : https://plasserre.developpez.com/cours/vb-net/
J'ai donc mis : Imports System.Collections en haut de mon module et Dim L As New ArrayList() en tant que variable globale.

Mais je ne peux pas m'en servir. :S

La définition de la variable ne passe pas.

P'tet une petite idée ? :)
1
Florence
 
1
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
ah ben voui ... ça c'est des liens utiles ... un grand grand merci

;o)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Tu cherches quoi au juste comme info ?? Quelles sont les points qui posent problèmes ?? On peut peut être te filer des tuyaux ...

;o)
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Comme je l'ai dit précédement, je n'ai jamais utilisé ni le vb, ni Access.

Je commence à comprendre l'ajout de méthodes sur les différents élément d'un form (bouton ...). Parce qu'après tout c'est de l'objet. :)

Donc pour commencer, j'aimerais pouvoir me co à une base et récupérer des données.
C'est la partie relation entre vb et access qui me pose des problèmes.
0
Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention   180
 
Google copain !!

Ahaha, je dis ça juste pour t'embêter.
Access... Bienvenue au Club MrSlave.
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Raaaaaaaa foutu moteur de recherche suisse. xD
0
Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention   180 > MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention  
 
Rooooooh râle pas xD
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Elle est taquine Rikki ....

Voilà un module pour se connecter à une base Access. Il faut ajouter la référence Microsoft ActiveX Data Objects x.x Library ...

https://www.cjoint.com/?gfnGBoir2Q

Reviens me voir si tu as un blème.

;o)
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Je t'aime. :)

Je reviendrais, t'inquiètes pas.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204 > MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention  
 
n'hésite surtout pas.

Bon courage

;o)
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147 > Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention  
 
Une p'tite question. :)

Si je met mon script de connexion à la base dans la fonction form_load() pour que la connexion s'effectue dès qu'on charge la page, où est ce que je dois mettre le chemin vers ma base ?
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Fait un module uniquement pour les échanges avec la base, donne lui le nom de ModBdd. Dans le module tu as une variable constante:
Private Const BDD = "c:\maBase.mdb"

Tu remplaces "c:\maBase.mdb" par le chemin et le nom de ta base.

Ensuite dans le Form_Load, rien ne t'empêche de faire :
Sub Form_Load()
   ModBdd.ConnectBdd
End Sub


Evites de mettre du code dans les modules des formulaires. Fait un module par formulaire ainsi qu'un module pour le traitement des données.

J'ai pas d'exemple ici sous la main, mais je vais tacher de te faire passer un petit truc demain pour te montrer comment faire.

;o)
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Je teste ça tout de suite.

Merci. ;)
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Bien alors je ne voudrais pas trop partir dans de mauvaises directions, alors je vais faire un petit point.

J'ai mon module ModBdd qui contient :

Public Const PathBase As String = "C:\Documents and Settings\RBEN\Mes documents\base_temps.mdb"

Public Sub ConnectBdd()

Set cnx = New ADODB.Connection

cnx.CursorLocation = adUseServer
'Définition du pilote de connexion
cnx.Provider = "Microsoft.Jet.OLEDB.4.0"

'Définition de la chaîne de connexion
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & PathBase & ";Persist Security Info=False;"
cnx.ConnectionString = cnx.ConnectionString

'Ouverture de la base de données
cnx.Open

End Sub


Et pour me connecter à la base dès le lancement de ma page, j'ai mis :

Private Sub Form_Load()

ModBdd.ConnectBdd

End Sub


Pour finir, un petit combobox : (mais il ne fonctionne pas).

Private Sub Combo1_Change()

Dim verb As ADODB.Recordset
Set verb = New ADODB.Recordset

verb.Open "SELECT Verbe FROM test"

combobox1.AddItem verb

End Sub


Est ce que je pourrais avoir un petit coup de main pour le combo, siouplait ?

Merci.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
pas mal .... mais c'est pas ça ... dommage ...

Alors il faut pas remplir la combo sur l'évènement Change() de la combo !!! mais par exemple sur le Form_Load ...


Private Sub Form_Load() 
Dim verb As ADODB.Recordset
Set verb = New ADODB.Recordset

ModBdd.ConnectBdd 
verb.Open "SELECT Verbe FROM test" 
While Not verb.EOF
  combobox1.AddItem verb.Fields(0)
  verb.MoveNext
Wend 

End Sub 


J'ai fait ça de tête, je peux pas tester ici

;o)
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Je vais éssayer.

Mais alors, le Change() de la combo prendra en compte la valeur qu'on va sélectionner ?
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
J'ai une erreur d'éxécution '3709'.
Impossible d'utiliser cette connexion pour effectuer cette opération.
Elle est fermée ou non valide dans le contexte.

Ps : j'ai fini ma journée. Je ne vais plus tarder à rentrer donc pour ce soir, ça va quasiment être bon.

Merci encore pour ton aide.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204 > MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention  
 
ok, a demain ... bonne soirée
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Si tu as copié tout le module que je t'ai fait passer, tu peux aussi faire comme ça

Private Sub Form_Load() 
Dim verb As ADODB.Recordset
Dim query As String
Dim Vrai As Boolean

query = "SELECT Verbe FROM test"
Set verb = New ADODB.Recordset

ModBdd.ConnectBdd 

vrai = ModBdd.OpenRecordset(query, verb) 
vrai = ModBdd.RSLirePremier(verb)
  While Vrai = true
    combobox1.AddItem verb.Fields(0)
    vrai = ModBdd.RSLireSuivant(verb)
  Wend 

End Sub 
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Après modifs, ça marche impec. Merci. :)

Bon je continue et j'enfile mon premier café de la matinée.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Salut,

De rien. Je vais enfiler mon 2ème kawa ... j'ai pas les yeux en face des trous ce matin ... vivement l'apéro

;o)
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Salut.

Dis moi, y aurait-il une méthode pour bloquer le contenu de la combobox ?
Ex, je choisis toto, je clique sur un bouton, et la valeur de la combobox ne pourra plus être changée.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Je ne sais pas, mais tu peux utiliser une variable globale dans un module. Quand tu cliques sur le bouton tu affectes à la variable la valeur de la combobox, et dans le form_load après avoir rempli la combobox tu rajoutes ça:

ComboBox1.Text = mavariable


0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Impec, avec ça et le combo.enabled ça fait exactement ce que je veux.

Merci à toi (pis à Rikk aussi). ^^
0
Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention   180 > MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention  
 
J'trouverai bien une façon dont tu pourras me revaloir ça >:)
Allez, je déconne.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
De rien, t'as plus k'à payer l'apéro .. j'aime les kaouètes ...

;o)
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Vu l'aide que tu m'apporte, je peux même en payer plusieurs des apéros. ^^

Euh ... quelle est la différence entre datagrid et flexgrid ?
Apparement la flexgrid ne prend pas en compte les valeurs entrée par l'utilisateur mais il peut les prendre en compte avec un ajout dans le code.

Et quel est le mieux, si je veux en faire un avec une seule ligne mais qui rajoute une ligne dès que je met quelque chose dans la ligne précédente ? (pas très clair ça).

Ex : au début, il y a une ligne.
Si je met quelque chose dans la 1ere ligne, ça me rajoute une 2eme ligne.
...
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Je n'utilise le datagrid et le flexgrid qu'en statique, pour affichage. Et en fait j'utilise le Flexigrid pour ça, pour ne pas autoriser la saisie.

Mais effectivement tu peux l'utiliser en ajoutant un peu de code pour pouvoir faire des saisies. Je ne l'ai jamais fait, mais tu peux trouver des exemples sur : https://vb.developpez.com/faq/?page=Controles et sur https://codes-sources.commentcamarche.net/

Pour ajouter une ligne, le flexgrid est plus facilement manipulable. Dans l'évènement Click() du flexgrid tu peux faire:

MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1

Cette propriété n'existe pas dans le datagrid.

;o)

PS: si l'eau est assez fraîche, pas de glaçon dans le pastaga .. :o))
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Je sais que je suis chiant, mais comment fait on pour écrire dans un datagrid ?
Y a t-il des options à cocher ?
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
oula, c'est chiant à faire ... il faut un contrôle ADODC (composant -> Microsoft ADO Date Controls x.x) qu'il faut configurer (clique droit -> propriétés ...). Tu peux le mettre invisible. Ensuite il faut lier le datagrid au controle ADODC avec la propriété DataSource et affecter la table ou la requête Access à la propriété DataMember ...

Pas top à faire.

0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Oula.
Je pensais qu'il était plus simple d'utiliser un datagrid pour faire un tableau dans lequel on puisse écrire mais en fait non.

J'me tate. ^^
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
non pas si simple ...
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Ou alors je fais un champs de texte qui récupère ce que j'écris et qui l'ajoute soit à un datagrid, soit à un flexgrid.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Mais alors à quoi te sers le datagrid ou le flexgrid ?
0
MrSlave Messages postés 2587 Date d'inscription   Statut Membre Dernière intervention   147
 
Ba il ne me servirais plus qu'à afficher ce que j'ai inscris dans le champ de texte. Mais je trouve ça moche.

Il me faut un tableau ou je puisse entrer plusieurs lignes. Alors je cherche la meilleure des solution (ou du moins celle que j'arriverais à mettre en place). ^^
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Je ne comprends pas bien. Tu peux très bien te faire un tableau uniquement avec des champs texte, sans devoir passer par un datagrid ou un flexgrid ... quel en est l'intérêt ? c'est ça que je ne pige pas bien ...

mais bon je te l'ai dit, j'ai pas les yeux en face de trous et mon neurone est en grève depuis ce matin ... :-s
0
Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention   180
 
C'est normal, c'est vendredi ;)

*Suit la conversation depuis le début, si si, rien d'autre à faire*
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204 > Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention  
 
et même pas un kawa ... pffffffff tout fout le camp ... j'vous l'dit mouai

(bônjour lâ chuisse)

;o)
0
Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention   180 > Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention  
 
J'aime pas le café, mais j'vous en sers si vous voulez :)))

'Jour le freuch :p
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204 > Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention  
 
veux bien un T si tu préfères.
0
Rikkunter Messages postés 6023 Date d'inscription   Statut Membre Dernière intervention   180 > Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention  
 
Deal ;)
Et un café pour MrSlave, privé d'alcool (par moi-même, et puis c'est mauvais quand tu codes :p)
0