Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Tuto VB/Access

MrSlave, le jeudi 5 juin 2008 à 11:53:37
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. MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
lermite222, le jeudi 5 juin 2008 à 12:13:15
Bonjour,
déjà pour access..
http://mhubiche.developpez.com/Access/cours/bases/
A+
EDIT:
J'ai retrouvé ca .. pour VB6
http://vb.developpez.com/cours/ L'expérience instruit plus sûrement que le conseil. (André G­ide)  
Répondre à lermite222

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 13:06:40
Je les avait trouvés mais merci quand même. ^^ MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 5 juin 2008 à 13:11:57
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) «Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 13:20:32
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. MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Rikkunter, le jeudi 5 juin 2008 à 13:22:13
Google copain !!

Ahaha, je dis ça juste pour t'embêter.
Access... Bienvenue au Club MrSlave. A touch of Destiny...
Je suis une fille ! Si si j'vous jure ! T_T
Répondre à Rikkunter

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 13:34:44
Raaaaaaaa foutu moteur de recherche suisse. xD MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Rikkunter, le jeudi 5 juin 2008 à 13:38:09
Rooooooh râle pas xD A touch of Destiny...
Je suis une fille ! Si si j'vous jure ! T_T
Répondre à Rikkunter

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 5 juin 2008 à 13:37:53
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 ...

http://cjoint.com/?gfnGBoir2Q

Reviens me voir si tu as un blème.

;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 13:54:57
Je t'aime. :)

Je reviendrais, t'inquiètes pas. MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 5 juin 2008 à 13:58:19
n'hésite surtout pas.

Bon courage

;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 14:19:18
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 ? MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 5 juin 2008 à 14:31:30
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)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 14:33:16
Je teste ça tout de suite.

Merci. ;) MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 15:43:18
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. MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 5 juin 2008 à 15:50:20
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)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 15:54:17
Je vais éssayer.

Mais alors, le Change() de la combo prendra en compte la valeur qu'on va sélectionner ? MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le jeudi 5 juin 2008 à 16:03:51
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. MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 5 juin 2008 à 16:09:48
ok, a demain ... bonne soirée «Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 5 juin 2008 à 16:07:55
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 
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le vendredi 6 juin 2008 à 08:37:23
Après modifs, ça marche impec. Merci. :)

Bon je continue et j'enfile mon premier café de la matinée. MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le vendredi 6 juin 2008 à 09:22:09
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)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

22


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le vendredi 6 juin 2008 à 09:29:08
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. MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

23


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le vendredi 6 juin 2008 à 09:46:28
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


«Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

24


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le vendredi 6 juin 2008 à 10:28:33
Impec, avec ça et le combo.enabled ça fait exactement ce que je veux.

Merci à toi (pis à Rikk aussi). ^^ MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

27


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Rikkunter, le vendredi 6 juin 2008 à 11:03:12
J'trouverai bien une façon dont tu pourras me revaloir ça >:)
Allez, je déconne. A touch of Destiny...
Je suis une fille ! Si si j'vous jure ! T_T
Répondre à Rikkunter

25


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le vendredi 6 juin 2008 à 10:43:02
De rien, t'as plus k'à payer l'apéro .. j'aime les kaouètes ...

;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

26


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le vendredi 6 juin 2008 à 10:54:56
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.
... MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

28


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le vendredi 6 juin 2008 à 11:17:02
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 : http://vb.developpez.com/faq/?page=Controles et sur http://www.vbfrance.com

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))
«Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

29


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MrSlave, le vendredi 6 juin 2008 à 12:02:20
Je sais que je suis chiant, mais comment fait on pour écrire dans un datagrid ?
Y a t-il des options à cocher ? MrSlave, l'esclave de ces demoiselles !
Répondre à MrSlave

30


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le vendredi 6 juin 2008 à 12:17:37
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.

«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» 
Nicolas Boileau
Répondre à Polux31

31


  • Ce message vous semble utile, votez !