Progressbar et base de donnée Access
Bonjour à tous,
Je suis bloqué dans la rédaction du code de ma progressbar, qui devrait augmenter en fonction du déplacement dans ma base de donnée.
Je dispose d'une base de donnée (Access) qui regroupe plusieurs enregistrements. Dans ma form1 (lecture des enregistrements) j'ai un datragridview et les boutons de navigation (movefirst, movelast etc.)
Ces boutons font le job, me déplace bien dans mes enregistrements et tous mes champs associés se remplissent correctement.
Maintenant je souhaiterai connaitre ma position par rapport au nombre d'enregistrement contenue dans la base de donnée. (je souhaite rendre invisible mon datagridview)
Pour faire simple,
- je souhaite que dans un label je puisse lire ma position : 3 sur 30 enregistrements;
- que ma progressbar ce soit déplacée et affiche 10%.
(Sur VB6, j'y suis arrivé, mais en VB.NET, je suis encore novice)
Quelqu'un pourrait me donner la direction a suivre SVP.
En vous remerciant par avance.
Christian
Progressbar et base de données
Bonjour Phil Rob,
merci pour ton message et ton petit bout de code. Il fonctionne bien évidemment, sauf si on continue d'appuyer sur le bouton "MoveNext" alors la "progressbar" se déplace toujours même s'il n'y a plus enregistrement.
Pour y remédier j'ai indiqué a ma "progressbar" qu'elle devait prendre la valeur indiqué dans le label.
Code:
1 2 3 4 5 6 7 8
| Private Sub Btn_Next_Click(sender As Object, e As EventArgs) Handles Btn_Next.Click
'deplace de 1 les enregistrements
BataillesBindingSource.MoveNext()
ProgressBar1.Value = N_TextBox.Text
End Sub |
Ce code collé dans mes 4 btn gérant les déplacements dans ma base.
Maintenant, je souhaiterais que la "progressbar.maximum" ne soit pas figer (progressbar.maximum = 100) mais évolue en fonction de la création d’enregistrement. D’où l’intérêt de l'affichage en % demandé dans mon premier post.
Je ne sais pas s'y je suis claire. En tout cas c'est que j'avance petit a petit.
Merci encore pour ton aide, et si cela pouvais continuer.
Merci et bonne journée.
Christian.
Progressbar et base de données
Bonsoir,
Mon problème de comptabilité est résolu. Merci pour m'avoir donné" des pistes.
Maintenant un autre problème arrive sur le BTN Save. Si j'effectue une modification dans un champ, j'obtiens le message d'erreur suivant :
"Une Requête Update ou delete ne peut pas contenir un champ à plusieurs valeurs."
Même si je remplie un champs vide j’obtiens cette même erreur.
Code:
1 2 3 4 5 6 7 8
| Private Sub Btn_Save_Click(sender As Object, e As EventArgs) Handles Btn_Save.Click
On Error GoTo SaveErr
BataillesBindingSource.EndEdit()
BataillesTableAdapter.Update(LES_BATAILLES_2GMDataSet.Batailles)
SaveErr:
Exit Sub
End Sub |
Aurais tu un début de solution.
Bonne soirée.
Progressbar et base de donnée Access
Bonsoir,
j'ai réussi a trouver le code pour la progress bar et son évolution.
Mais je me suis heurté à un plus gros problème, celui de la sauvegarde des données dans la base. A force de tester, modifier, réécrire, j'ai fini par supprimer le projet en cour et revenir à ma première sauvegarde.
Donc, je vais essayer de vous faire parvenir le dossier du projet avec la BD. Il n'y a qu'un seul enregistrement, mais les Btn sont utilisable.
Le problème que je n'arrive pas a résoudre est le suivant :
Je crée un nouvel enregistrement, qui apparaît dans le datagrifview.
Lorsque je veux le sauvegarder, l'erreur suivante apparaît :
Citation:
System.Data.OleDb.OleDbException*: 'Une requête INSERT INTO ne peut pas contenir un champ à plusieurs valeurs.
Voila. Merci pour votre temps passé a essayer de me faire progresser en VB.NET. Ci-dessous le liens pour voir le dossier.
https://www.dropbox.com/sh/gf35grbow..._x7ritQea?dl=0
Cordialement.
Progressbar et base de donnée Access
Bonjour,
et tout d'abord merci de prendre de votre temps pour m'aider.
J'ai remis le dossier complet, avec les premières images de mon projet.
https://www.dropbox.com/sh/gf35grbow..._x7ritQea?dl=0
voici le liens.
Merci encore.
Cordialement.
Progressbar et base de donnée Access
Bonsoir,
Merci pour avoir bien voulu te pencher sur ce problème. Je n'aurais jamais pensé à regarder mes champs dans ma base de donnée.
J'ai pris l'habitude avec VB6 d'utiliser les assistants pour travailler avec des bases de données. Et en réalité, lorsque je regarde la programmation d'une base uniquement avec du code, cela me fait un peu peur.
Pour ce qui est de l’écran, mon projet est d'abord personnel, voila pourquoi je n'ais pas pris le temps d'y regarder de plus prés ni de prévoir de déploiement externe.
Comme j'ai dit, j'ai repris une ancienne sauvegarde suite à mes tentatives de résolution de ce problème. Maintenant que mon soucis trouve une issue, je vais pouvoir avancer et peut être pouvoir mener à bien ce petit projet.
Je garde en mémoire, l'idée d'écrire mes propres BD et leur gestion sans ces assistants.
Je pense également que le soucis d’écriture dans la base de donnée venait de cette erreur. Donc, je vais reprendre depuis le début les form et mettre à jour les boutons etc. Modifier ma base. Remettre ma progressbar également.
En espérant que lors de l'ajout d'un enregistrement, la partie sauvegarde ne provoquera plus de problème.
Comme tu le dit, j'ai encore pas mal de boulot.
Merci a toi et passe un bon week end.
Cordialement.
Christian.