Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Question pertinente sur Datagrid (ou autre si quelqu'un voit comment faire ...)

5 réponses
Avatar
jerome
Bonjour à tous.

J'ai un souci à la fois technique et logique:

J'ai une table dans lequel je stocke une référence, un semaine, la quantité
à livrer::

ART SEM QTE
art1 S01 1200
art1 S02 1300
art1 S03 0
art2 S01 100
art2 S02 120
art2 S03 111
art2 S04 0

et ainsi de suite.

Mes ref ont donc 52 lignes chacunes.

Je voudrais les afficher en VB dans un controle (type datagrid, flexgrid ou
autres ) en colonnes. Càd avoir:

ART S01 S02 S03 S04
art1 1200 1300 0 0
art2 100 120 111 0
....

et aussi que l'utilisateur se mette dans la cellule (Art2, S04) pour saisir
la quantité de l'art2 en semaine 04 et que ça mette à jour ma table avec
Art2 S04 1500 par exemple.

Je ne vois pas comment faire ça . Si quelqu'un peut m'aider .


Merci à vous.

5 réponses

Avatar
Jean-marc
"jerome " <jerome<NOSPAM> wrote in message
news:
Bonjour à tous.

J'ai un souci à la fois technique et logique:

J'ai une table dans lequel je stocke une référence, un semaine, la
quantité
à livrer::

ART SEM QTE
art1 S01 1200
art1 S02 1300
art1 S03 0
art2 S01 100
art2 S02 120
art2 S03 111
art2 S04 0

et ainsi de suite.

Mes ref ont donc 52 lignes chacunes.



Hello,

C'est tout simple.
voici une implémentation possible,
le code est commenté:

Option Explicit

' 52 semaines
Private Const NB_SEM As Long = 52

' 1000 articles (par exemple)
Private Const NB_ART As Long = 1000

' Un Article a un libelle et 52 quantités
Private Type TArticle
libelle As String
Qte(NB_SEM) As Long
End Type

' Puis on crée la table d'articles
Dim Articles(NB_ART) As TArticle


' exemple pour remplir le libelle
' de l'article 12
Articles(12).libelle = "Marteau"

' pour remplir la quantite de marteau
' pour la semaine 23
Articles(12).Qte(23) = 789

Le reste est trivial, ce ne sont que qq boucles
pour mettre tout ça dans un flexgrid.

Si tu gères ça avec une vraie BDD, il suffit de
traduire ceci est modèle relationnel.

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
news.microsoft.com
Essayes çà :
http://www.codes-sources.com/recherche.aspx?rÚtagrid&tr=source

"jerome " <jerome<NOSPAM> a écrit dans le message de news:

Bonjour à tous.

J'ai un souci à la fois technique et logique:

J'ai une table dans lequel je stocke une référence, un semaine, la
quantité
à livrer::

ART SEM QTE
art1 S01 1200
art1 S02 1300
art1 S03 0
art2 S01 100
art2 S02 120
art2 S03 111
art2 S04 0

et ainsi de suite.

Mes ref ont donc 52 lignes chacunes.

Je voudrais les afficher en VB dans un controle (type datagrid, flexgrid
ou
autres ) en colonnes. Càd avoir:

ART S01 S02 S03 S04
art1 1200 1300 0 0
art2 100 120 111 0
....

et aussi que l'utilisateur se mette dans la cellule (Art2, S04) pour
saisir
la quantité de l'art2 en semaine 04 et que ça mette à jour ma table avec
Art2 S04 1500 par exemple.

Je ne vois pas comment faire ça . Si quelqu'un peut m'aider .


Merci à vous.







Avatar
jerome
Merci pour l'idée , mais autant pour l'affichage je comprends comment le
faire mais pour la mise à jour comment m'y prendre dans ce cas ?


"Jean-marc" a écrit dans le message de news:
erh9ve$1q3$
"jerome " <jerome<NOSPAM> wrote in message
news:
> Bonjour à tous.
>
> J'ai un souci à la fois technique et logique:
>
> J'ai une table dans lequel je stocke une référence, un semaine, la
> quantité
> à livrer::
>
> ART SEM QTE
> art1 S01 1200
> art1 S02 1300
> art1 S03 0
> art2 S01 100
> art2 S02 120
> art2 S03 111
> art2 S04 0
>
> et ainsi de suite.
>
> Mes ref ont donc 52 lignes chacunes.

Hello,

C'est tout simple.
voici une implémentation possible,
le code est commenté:

Option Explicit

' 52 semaines
Private Const NB_SEM As Long = 52

' 1000 articles (par exemple)
Private Const NB_ART As Long = 1000

' Un Article a un libelle et 52 quantités
Private Type TArticle
libelle As String
Qte(NB_SEM) As Long
End Type

' Puis on crée la table d'articles
Dim Articles(NB_ART) As TArticle


' exemple pour remplir le libelle
' de l'article 12
Articles(12).libelle = "Marteau"

' pour remplir la quantite de marteau
' pour la semaine 23
Articles(12).Qte(23) = 789

Le reste est trivial, ce ne sont que qq boucles
pour mettre tout ça dans un flexgrid.

Si tu gères ça avec une vraie BDD, il suffit de
traduire ceci est modèle relationnel.

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/







Avatar
Jean-marc
"jerome " <jerome<NOSPAM> wrote in message
news:
Merci pour l'idée , mais autant pour l'affichage je comprends comment le
faire mais pour la mise à jour comment m'y prendre dans ce cas ?



Hello,

Je ne comprend pas ta question.

Qu'appelles tu la mise à jour?

Tes données sont sur un support physique:
Base de données ou fichier.

Tu les charges en mémoire pour les afficher:
Dans quoi? Flexgrid? Datagrid? des labels?
Des textBox connectés à la DB?

Bref, en fonction des réponses, le traitement sera
différent. Mais au final, c'est toujours le même
mécanisme:
chargement en mémoire; modification par l'utilisateur
mise à jour du support physique.

Si tu utilises des composants connectés en direct à la
DB, alors il n'y a rien à faire. Toute modification
est directement reportée en base.

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
jerome
merci pour ta réponse.

Mon souci c'est que je ne vois pas comment le faire techniquement . Soit
j'ai un grand vide dans la tête soit je pige pas . C'est un truc que j'ai
fait régulièerment en ASP mais comme je peux nommer chaque INPUT avec un
noom variable ça m'a simplifier l'update .

Là il faut que j'affiche dans Flexgrid ou Datagrid (je ne connais pas las
différence) avec 2 boucle une sur l'article l'autre sur la semaine . Jusque
là c'est OK mais c'est ensuite si je modifie une des valuers affiché comment
je lui dit de mettre à jour mon recordset ?

Je suis désolé mais c'est pas clair dans ma tête.

Merci

"Jean-marc" a écrit dans le message de news:
erk0t4$8g3$
"jerome " <jerome<NOSPAM> wrote in message
news:
> Merci pour l'idée , mais autant pour l'affichage je comprends comment le
> faire mais pour la mise à jour comment m'y prendre dans ce cas ?

Hello,

Je ne comprend pas ta question.

Qu'appelles tu la mise à jour?

Tes données sont sur un support physique:
Base de données ou fichier.

Tu les charges en mémoire pour les afficher:
Dans quoi? Flexgrid? Datagrid? des labels?
Des textBox connectés à la DB?

Bref, en fonction des réponses, le traitement sera
différent. Mais au final, c'est toujours le même
mécanisme:
chargement en mémoire; modification par l'utilisateur
mise à jour du support physique.

Si tu utilises des composants connectés en direct à la
DB, alors il n'y a rien à faire. Toute modification
est directement reportée en base.

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/