Posez votre question Signaler

Tuto VB/Access

MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - Dernière réponse le 22 août 2008 à 16:18
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.
Lire la suite 
Réponse
+0
moins plus
Une seule chose à dire, les concepteur de VB sont des tarés.

Tu peux avoir des cases à cocher dans un flexgrid mais dès qu'il s'agit d'y mettre 3 pauvres lettres c'est la merde.

Ca saouuuuuuuuuuule.

Ps : bon en fait, je crois que je vais faire un champ de texte où je mettrais par ex a et b.
Et un flexgrid qui m'affichera :
a
b ...
Ajouter un commentaire
Réponse
+0
moins plus
tu peux les mettre avec le code, le flexgrid, n'est pas fait à l'origine pour saisir de données ...

zen ... inspirez .... expirez ...

;o)
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 6 juin 2008 à 14:33
Je crois que je m'emmêle un peu.
Je n'utilise pas un flexgrid mais un datagrid. :)

Je ne peux pas les mettre avec le code. Parce que ça sera au user de remplir le tableau.

Je sais, je suis tordu. Niark niark niark.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
ca fait un bagne que j'ai plus trop utilisé ça ... me faudrait que je fouille dans mes archives pour trouver un truc qui ressemble à ce que tu cherches. Mais là ... pas trop le temps ... tu es pressé ?

PS: Si le café ou le thé de Rikki pouvait être un plus fort et pas ressembler à de l'eau légèrement teinté ...

;o)
Rikkunter 6052Messages postés vendredi 2 novembre 2007Date d'inscription 9 novembre 2011 Dernière intervention - 6 juin 2008 à 15:46
Me ressors sans cesse le même message.
En fait c'est mon applic Access qui est bien foutue, pas la base, la base MySQL est pas atteinte ;)

C'est qu'une question de temps mais ça gave, évidemment...
J'aurai du travail, en tout cas merci Polux :)
*Ajoute Polux dans ses amis*

Hein ?
J'ai rien dit :p


Oui bon c'tait une tite joke c'bon je m'en vais~ (MrSlave mort devant son VB par contre)
Répondre
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 6 juin 2008 à 15:50
Non, il ne fait que survoler votre discussion. Je ne voudrais pas dire de conneries.

Par contre, je vais pas tarder à mourir devant mon vb, c'est sur. :)
Répondre
Polux31 6940Messages postés mardi 25 septembre 2007Date d'inscription 1 juillet 2015 Dernière intervention Rikkunter - 6 juin 2008 à 16:02
heuuu on n'est pas sur un forum d'entre aide là ??

Rikki >
Je n'ai malheureusement pas de solution pour ton blème et ça me chagrine (si si c'est vrai).
Ca me fait plaisir d'aider et en encore plus quand je dépanne.
*Ajoute Polux dans ses amis* ... grand honneur pour moi ...

Bon courage.

MrSlave >
zen .... pfff pfff pfff ...
Je vais fouiller dans mes archives ce week. La où je loge actuellement je n'ai pas le net. Faudra patienter jusqu'à lundi ...

Resistes ... prouves que tu existes ... tatatsoin tatasoin ....

Et bon week end à vous deux.

;o)


Répondre
Rikkunter 6052Messages postés vendredi 2 novembre 2007Date d'inscription 9 novembre 2011 Dernière intervention - 6 juin 2008 à 16:10
Merci Polux, à toi aussi ;)

!! Et merci encore pour l'aide ;)
Répondre
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention Polux31 - 6 juin 2008 à 16:56
Je plussoie ce que dit Rikk.

Merci de ton aide et bon vikend à toi aussi.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Salut.
Comment ça va bien ?

Alors quelque chose pour moi ? ^^
Ajouter un commentaire
Réponse
+0
moins plus
Hello ...

Bon j'arrive à peine et je suis à la bourre ... pas encore pris mon kawa .. :o)

Cha va béné, merci et toi ?

J'ai fouillé dans mes archives. J'ai pas pu prendre d'exemples parce que trop gros et liés à unebase Oracle ou SQL serveur ...

En fait je ne me servais du flexgrid que pour l'affichage. Je n'ai jamais fait de saisie directement dedans. Le flexgrid n'étant que le reflet de la table. J'avais des zones de saisie à part et à chaque validation, je mettais à jour le flexgrid, ce qui revient à ce que tu disais ... pour chaque colonne, une zone texte, un bouton de validation qui commande la mise à jour de la base et la mise à jour du flexgrid par une requête. Un peu comme un sous formulaire.

Ca va pas trop t'aider, mais je n'ai pas mieux ...

;o)
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 09:49
Moi cha va bien. :)

Le kawa dans une main et le clavier dans l'autre.

Boarf, ce n'est pas grave. Je continue comme j'ai commencé et pis voilà.
J'ai presque réussi d'ailleurs, il ne me reste qu'un petit truc à gérer et ça va le faire.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
J'ai également jeté un oeil sur l'aide, mais par grand chose sur l'utilsation ...

Je vais quand même regarder sur vbfrance, il doit bien y avoir quelque chose la dessus. Ca peut toujours servir.

;o)
Ajouter un commentaire
Réponse
+0
moins plus
En fait j'ai encore une question.

Je me suis servi du code ci-dessous :
http://files.codes-sources.com/fichier.aspx?id=39349&f=Form1.frm

Pour ce qui est de la modif et de l'ajout c'est bon.
Mais je n'arrive pas à sélectionner les lignes.
Quand je charge les éléments de ma table, la première ligne est sélectionnée, et quand je rajoute un enregistrement, la dernière est sélectionnée.

Une idée ?
Ajouter un commentaire
Réponse
+0
moins plus
je n'ai pas acces au lien d'ici :s.

J'ai trouvé ça sur vbfrance ... ça à l'air pas mal : http://www.vbfrance.com/...

Que veux-tu dire par "je n'arrive pas à sélectionner les lignes" ?
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 10:41
'tain j'avais même pas vu le point.

J'vais prendre un autre kawa pour me réveiller.
Répondre
Polux31 6940Messages postés mardi 25 septembre 2007Date d'inscription 1 juillet 2015 Dernière intervention Rikkunter - 9 juin 2008 à 10:41
'jour Rikki ... déjà debout ??? :O))

Vous commencez tôt en Suisse ... un kawa ?

;o)

---
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» 
Nicolas Boileau
Répondre
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 10:43
Elle n'aime pas ça. ^^

Un thé plutôt je crois.
Répondre
Rikkunter 6052Messages postés vendredi 2 novembre 2007Date d'inscription 9 novembre 2011 Dernière intervention Polux31 - 9 juin 2008 à 10:44
Ouep, le café, c'pas trop ma tasse de thé...

Sinon, bawi déjà debout hein, 8h déjà à l'école tu crois quoi :p

Allons, encore le bon vieux préjugé ? ;))

On est Suiiiiiiiiisses, on a l'teeeeeemps.....
Répondre
Polux31 6940Messages postés mardi 25 septembre 2007Date d'inscription 1 juillet 2015 Dernière intervention - 9 juin 2008 à 10:50
heuuu le kawa, c'était pour moi ... tu crois koi toi, nanmého ... lol.

la chuiiiiiiisse c'est un jôliiiiiiiiiiiiiiiiiii payyyyyyyyyyyyyyyyyyyyssss, maiiiiiisss pas queeeeeeeee..
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
j'ai pu ouvrir ton lien.

Sur le formulaire tu as le datagrid qui est lié au controle adoData, c'est lui qui permet de selectionner une ligne.
Je pense que tu dois faire un datagrid.Refresh quand tu fais une modif ... et/ou une data.Refresh pour réinitialiser l'objet.

Pour le boulot, je ne suis pas bousculé ce matin ... ;o)
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 10:27
Mwai, mais dans le code que je t'ai montré, il n'y a qu'un seul refresh lorsque l'on charge la table (ce que j'ai également fait).

Mais euh ... cette partie sert à quoi ?

Private Sub grid_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
On Error GoTo err
    
    If IsNull(Me.adoData.Recordset!Nom) Then
        Me.txtNom.Text = ""
    Else
        Me.txtNom.Text = (Me.adoData.Recordset!Nom)
    End If

    GoTo fin
    
err:
    MsgBox "Erreur 1"
fin:
End Sub


Ps : tu fais quoi comme boulot ? ^^
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
ce bout de code rajoute une ligne et la remplit avec le recordset ...

Je suis développeur informatique ... et en ce moment je suis chef de projet et éventuellement développeur dans une boîte en haute Normandie (je suis de Toulouse).

;o)
Ajouter un commentaire
Réponse
+0
moins plus
mais dans le code que je t'ai montré, il n'y a qu'un seul refresh celui là initialise de controle data, l'équivalent de MoveFirst en SQL.
Ajouter un commentaire
Réponse
+0
moins plus
Ah ok. ;)

J'ai trouvé mon erreur.
Comme un c**, j'avais mon adodc en enabled = false. -_-"
Polux31 6940Messages postés mardi 25 septembre 2007Date d'inscription 1 juillet 2015 Dernière intervention - 9 juin 2008 à 10:46
arfffff ..... t'inkiète qu'ai bugué 2 jours sur un contrôle locked, et pas seulement moi ... en fin de compte on a cassé le code et tout refait ... pour rien ... le contrôle étant toujours locked ... et là on s'en est apperçu. 3 jours de retard pour ça, ça fait chère l'étourderie.

;o)
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
J'ai encore une question. :D

Si j'suis chiant vous pouvez le dire.

Est ce qu'il est possible de rajouter une scrollbar verticale sur un datagrid ? (pis comment on fait, si c'est possible) ^^

Merci.
Rikkunter 6052Messages postés vendredi 2 novembre 2007Date d'inscription 9 novembre 2011 Dernière intervention - 9 juin 2008 à 10:58
Si j'suis chiant vous pouvez le dire.

Tu l'es.


Fallait pas me donner une telle occasion :D
Répondre
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 10:59
Oui, mais ça je le savais, ça ne m'aide pas beaucoup beaucoup. :S
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
la scrollbar se met automatiquement ...

;o)
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 11:02
Pas chez moi. :P

P'tet une option mais je ne vois pas laquelle. :(
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
tu cliques droit sur le controle et ensuite propriété, puis l'onglet fractionnement et tu mets ScrollBar à 4- dgbAutomatic.

MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 11:10
J'avais ça. :(

Mais mon Datagrid était dans une frame. -_-"
Mantenant les scrollbar sont là, mais je ne peux pas m'en servir. Elle sont grisées. xD
Répondre
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 11:35
Encore un enabled qui me bloquait.

Bon je crois que j'ai réussi.

Grâce à vous deux. Merci. ^^
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bravo tu deviens un pro de VB ... ;o)
Bon app a vous deux
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 13:00
Bon app' à vous également.
Répondre
Rikkunter 6052Messages postés vendredi 2 novembre 2007Date d'inscription 9 novembre 2011 Dernière intervention - 9 juin 2008 à 13:04
Pour pas faire comme tout le monde : J'espère que vous avez bien mangé.

Pas le courage de recommencer mon applic Access, mmmh...
Répondre
Polux31 6940Messages postés mardi 25 septembre 2007Date d'inscription 1 juillet 2015 Dernière intervention - 9 juin 2008 à 13:10
vi merci ... c'était pas dégueux pour une fois ...

Mais je croyais que c'était juste Access qui avait un blème et qu'une réinstallation suffisait !!!

J'ai du zappé un bout ou le café pas assez fort ...

:oS
Répondre
Rikkunter 6052Messages postés vendredi 2 novembre 2007Date d'inscription 9 novembre 2011 Dernière intervention - 9 juin 2008 à 13:36
Non non, c'est bien mon applic qui est corrompue -- comment elle a été corrompue, je sais pas.
J'ai un backup qui date de mars, et Access fonctionne parfaitement bien.

Ca m'apprendra à pas faire de sauvegardes...
Répondre
Polux31 6940Messages postés mardi 25 septembre 2007Date d'inscription 1 juillet 2015 Dernière intervention - 9 juin 2008 à 13:46
pas d'bol ... c'est balaud ...

Faut pas se décourager ... et les erreurs sont toujours un bon moyen d'apprendre et de progresser.

;o)
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Je suis désolé de revenir à quelque chose d'important (patapey Rikk, patapey ...). :D

Quand on met des chose dans combo_change, les choses en question seront prises en compte à quelle moment ?
Lors d'une modification de la valeur du combo ?

Parce que j'ai 3 combo.
J'ai mis le premier en accessible et j'ai bloqué les 2 autres.
Et j'ai mis (pour bloquer le 1er et libérer le 2eme):

Private Sub Combo1_Change()
        Combo2.Enabled = True
        Combo1.Enabled = False
End Sub


Mais apparemment ce n'est pas ça. ^^
superthevip 3293Messages postés mercredi 29 août 2007Date d'inscription 23 juillet 2015 Dernière intervention - 9 juin 2008 à 13:59
café? ^^
Répondre
Polux31 6940Messages postés mardi 25 septembre 2007Date d'inscription 1 juillet 2015 Dernière intervention - 9 juin 2008 à 14:04
salut,

Bien fort avec un sucre, stp

:O))
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
En principe, la fonction Change() intervient dès que l'on tape ou change une valeur dans la zone texte de la combo (ou autres contrôles ayant cette fonction).

Dès que le contrôle a le focus, pour toute modification du contenu du contrôle, le code derrière est exécuté.

Je ne sais pas si c'est bien clair comme explication ...
MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 14:05
Si je comprend bien, si je modifie la valeur de ma combo, le code inséré dans combo_change devrait s'effectuer.

Alors j'ai un problème. ^^

Parce que par défaut la valeur de ma combo est nulle. Et lorsque je change sa valeur, il ne se passe rien.

EDIT : ça fonctionne si j'écris dans ma combo !
Mais je veux que ça fonctionne si je change la valeur.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Alors c'est sur l'évènement Click() ...

MrSlave 2587Messages postés lundi 28 avril 2008Date d'inscription 26 août 2011 Dernière intervention - 9 juin 2008 à 14:11
Impec. Je t'adore. :)
Répondre
Polux31 6940Messages postés mardi 25 septembre 2007Date d'inscription 1 juillet 2015 Dernière intervention - 9 juin 2008 à 14:13
je fais toujours cet effet ... :DDDDD
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
J'suis pas encore un pro je crois, j'ai encore besoin de toi. ^^

Toujours avec mes combo liées. Bon quand je sélectionne une valeur sur la combo1 elle devient inactive et la 2eme devient active. Mais je ne veux pas qu'elle me revoit toutes mes valeurs de la table.

Je m'explique :
- une séquence est composée d'un id, d'un verbe, d'un sujet et d'un complément.
- quand je sélectionne le verbe (combo1), je ne dois afficher que les sujet qui correspondent au verbe sélectionné. (donc le même id)

J'ai donc fait :
Dim sujet As ADODB.Recordset
        Dim query2 As String
        Dim query4 As String
        Dim Vrai As Boolean
         
        Combo2.Enabled = True
        Combo1.Enabled = False
        
        query4 = "Select id_std from ent_std where lib_verbe =" & Combo1.Text
        query2 = "SELECT LIB_Sujet FROM ENT_STD where id_std =" & query4
        Set sujet = New ADODB.Recordset
        
        Vrai = ModuleBdD.OpenRecordset(query2, sujet)
         Vrai = ModuleBdD.RSLirePremier(sujet)
         While Vrai = True
         Combo2.AddItem sujet.Fields(0)
         Vrai = ModuleBdD.RSLireSuivant(sujet)
        Wend


Là je l'ai fait en 2 requêtes :
- je récupère l'id de l'enregistrement contenant le verbe
- je récupère les sujets donc l'id correspond à celui du verbe.

J'espère que c'est assez clair. ^^
Ajouter un commentaire
Ce document intitulé «  Tuto VB/Access  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.