bonjour , je voudrait savoir comment sélectionner deux ligne d'un dbgrid et les affiche dan un etat de sortie merci d'avance et voici une capture de ce que j'ai et merci
bonjour , je voudrait savoir comment sélectionner deux ligne d'un dbgrid et les affiche dan un etat de sortie merci d'avance et voici une capture de ce que j'ai et merci
salut
il faut que ta grille accepte le multiselect
et ensuite une fois la selection faites
tu as deux choix possible soit dans ta table tu as un champs selectionée O/N
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 procedure TMafrm.TraiteSelectionClick(Sender: TObject); var i : integer; begin inherited; if MaGrid.SelectedRows.Count > 0 then begin with MaGrid.DataSource.DataSet do begin for i := 0 to MaGrid.SelectedRows.Count-1 do begin GotoBookmark(Pointer(MaGrid.SelectedRows.Items[i])); // on se place sur la selection // ici tu fait le traitement qui t'interesse pour la ligne selectionné end; end; end ;
et dans ton etats tu fait une requette avec les element qui ont une selection a O
soit tu remplis une deuxieme table et tu affiche cette table dans l'etats prevu
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
j'ai fait mais seulement une ligne s'affiche merci
salut
tu as fait quoi/comment ?
tu est sur quel type de base de donnée
ton etats c'est quoi ?
tu le lance comment ?
tu vois ce n'est pas simple de repondre quand on a que tres peu d'info
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
j'utilise sql server 2000 les numero_bc qui s'affiche plusieurs fois dans plusieurs ligne sont le même bon de commande avec 2 3 article mon problème c'est j'ai trouver le moyen pour regrouper un bon de commande avec tous les article qui sont dans ce bon de commande affichage sur état affiche un seul article alors qu'il y a 2 et plus
Bonjour,
soyez plus précis ! On ne sait toujours pas quel générateur d'état vous utilisez, et puisque SGBD il y a ainsi que selon ce dernier post à minima deux tables, il serait bon d'en fournir partie de la structure de celle-ci.
finalement je n'aurais peut être pas du supprimer mon premier message
votre problème semble plus être un problème de type : état maitre (le numéro de bon) détail (les lignes du bon) qu'un problème de sélection d'enregistrements dans une grille !
répondre à : imprimer le numéro le bon 1212016710 passe par un simple SQL qui sélectionnera les lignes du bon SELECT * FROM LIGNES WHERE NBC=1212016710,répondre à : n'imprimer que les lignes cochées de la DBGrid passera par la proposition d'anapurna
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
voici ma vue
et voila le résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 create view etat_bc2 ([prix_unitaire],[quantite_commande],[montant],[montant_total],[montant_tva],[designation_article],[numero_da],[date_demandeachat],[numero_bc],[code_paiment],[designation_paiment],[nom_service], [unite_mesure],[nom_fourisseur],[adresse_fournisseur],[nom_acheteur]) as select a.pu,a.qtc,a.qtc*a.pu as montant,sum(a.qtc*a.pu)as montant_total,sum(a.qtc*a.pu*19/100),b.desig_ar,c.n_da,c.date_da,d.n_bc,f.code_mpei,f.desig_mpei,g.desig_serv, h.code_um,i.nom_fo,i.adresse_fo,j.nom_achet from contient1 as a join article as b on a.ref=b.ref join da as c on a.n_int_da=c.n_int_da join bc as d on a.n_int_da=d.n_int_da join facture as e on d.n_bc=e.n_bc join mpei as f on e.code_mpei=f.code_mpei join service as g on c.code_serv=g.code_serv join unitemesure as h on b.code_um=h.code_um join fournisseur as i on d.code_fo=i.code_fo join acheteur as j on c.code_achet=j.code_achet group by a.pu,a.qtc,b.desig_ar,c.n_da,c.date_da,d.n_bc,f.code_mpei,f.desig_mpei,g.desig_serv, h.code_um,i.nom_fo,i.adresse_fo,j.nom_achet
le problème c'est le même numéro bc s'affiche plusieurs fois avec article différent du même bc
pour lancer mon état je fait un filtre sur dbgrid après je fait form2.quickrep.preview
Bonjour,
Ouf, enfin on sait que le générateur d'état est quickreport ! mais
est loin d'être explicite et votre problème est justement ce genre de raisonnement, et le fait d'utiliser une vue que je qualifierai de synthétique pénalise plus que arrange les choses.je fait un filtre sur dbgrid
De la vieille école, j'ai retenu qu'il valait toujours mieux décomposer (les états, les données etc..) en parties simples .
D'ailleurs lorsque je fait une analyse rapide pour une application point besoin de Merise, je pars des écrans et états voulus pour avoir ma première approche et décompose
par exemple : un bon de commande se décompose en :
un Entête
. numéro
. client
. date
etc..
des lignes
. numero de ligne
. article
. prix
etc..
un pied
. Montant total
etc...
En bref ce que je nomme un état maitre/détail
où vous, vous fourrez tout dans une grille, moi je met soit deux grilles, soit une boite de choix (numéro de bon) et renseignements asscociés et une seule grille pour les lignes.
où vous vous partez d'un "filtre" sur votre grille, moi je construis par exemple une table en mémoire qui contiendra les numéros de bons à imprimer et fonde mon état sur cette table avec bien évidemment d'autres requêtes associés via paramètres pour glaner les informations nécessaires à mon état
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager