Importer des données via une table dans dbgrid
Importer des données via une table dans dbgrid
Il faut :
Avoir un Tdatasource relié à la table (propriété Dataset).
Lié le TDBGrid au TDataSource (propiété Datasource)
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
Salut
J'ai deux tables ADO :
La table medicament est remplie avec des produitsmedicament(NoH,Medicament,Dosage,Qté,LibelleDetaille.......................................)
ordonnance detail(Code,Code_Ordonnance,Code_Medicament,Libelle_Medicament,Dose,Prise_Jour,Nombre_Jour,Periode,Quantite,Dosage................)
Ce que je veux, quand je fais la recherche d'un produit dans la table medicament, c'est que cela s'affiche directement dans la table ordonnance detail.
J'espère que tu m'as compris.
Aidez-moi .
Et merci d'avance.
Il suffit de lire le fichier avec un TFileStream ou TXMLDocument ou TJSonObjet puisque l'on a aucune information du type du fichier à importer
Ensuite c'est juste du SQL
Un exemple de fichier et votre premier code serait bienvenu, seul vous pouvez fournir un code pour que l'on puisse avancer.
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Tout cela n'est qu'une simple relation Maitre Détail, il y a une méthode
- avec plusieurs DBGrid en utilisant le MasterSource de la seconde table
- avec une Combo et un Filter
- avec une Combo et un SQL
Tout dépend vos habitudes de développement
Nous fournir un début de code qui pose problème pour agencer vos composants TTable/TQuery + TDataSource + TDBGrid
Ensuite, le TBatchMove peut être utilisé pour importer un fichier texte très simple type fichier Tabulé
TTable, TADOTable, T???Table, on n'a pas l'information du provider associé à ACCESS
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Bonsoir sergio
Vous vous trompez de hiérarchie.
La grille ordonnance devrait être en premier, la grille médicament AMHA non nécessaire devrait être remplacé par un cadre contenant un dblookupcombobox pour la recherche du médicament, une zone de saisie pour la posologie ...
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
Bonsoir Sergio
J'ai réglé le problème.
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 begin Tbl_Medicaments.Locate('LibelleDetaille',AdvListEditor2.Values[i].DisplayText,[]); AdoTableOrdonnance.Insert; AdoTableOrdonnance.FieldByName('Code_Medicament').AsInteger:=Tbl_MedicamentsNoH.Value; AdoTableOrdonnance.FieldByName('Libelle_Medicament').AsString:=Tbl_MedicamentsMedicament.Value; AdoTableOrdonnance.FieldByName('Code_DCI').AsString:=Tbl_MedicamentsDCI.Value; AdoTableOrdonnance.FieldByName('Libelle_DCI').AsString:=Tbl_MedicamentsDCIcomplet.Value; AdoTableOrdonnance.FieldByName('Dose').AsString:=XDBGrid5.Columns[2].PickList.Strings[0]; AdoTableOrdonnance.FieldByName('Prise_Jour').AsString:=XDBGrid5.Columns[3].PickList.Strings[0]; AdoTableOrdonnance.FieldByName('Nombre_Jour').AsInteger:=StrToInt(XDBGrid5.Columns[4].PickList.Strings[0]); AdoTableOrdonnance.FieldByName('Periode').AsString:=XDBGrid5.Columns[5].PickList.Strings[0]; AdoTableOrdonnance.FieldByName('Quand').AsString:=XDBGrid5.Columns[6].PickList.Strings[0]; AdoTableOrdonnance.FieldByName('Quantite').AsInteger:=1; AdoTableOrdonnance.FieldByName('Forme').AsString:=Tbl_MedicamentsForme.Value; AdoTableOrdonnance.FieldByName('Dosage').AsString:=Tbl_MedicamentsDosage.Value; AdoTableOrdonnance.FieldByName('Emballage').AsString:=Tbl_MedicamentsEmballage.Value; AdoTableOrdonnance.FieldByName('Unite').AsString:=Tbl_MedicamentsUnit.Value; AdoTableOrdonnance.Post; end;
Si le problème est réglé alors utiliser le bouton
Toutefois, le code fourni et le manque d'explication de votre part ne va pas aider grand monde, dommage
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