Dbgrid copier/coller

Résolu
Reynaldd Messages postés 4 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 10 mars 2005 - 6 mars 2005 à 00:06
Reynaldd Messages postés 4 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 10 mars 2005 - 10 mars 2005 à 21:59
Bonjour a tous,

Voila mon PB, je recupere le resultat d'un ADOQuery dans un DBGrid.
Jusque là, pas de PB.
Ensuite, je voudrai copier le contenu de ce DBGrid dans le presse papier, et le coller dans un tableur, qui ne sera pas forcement Excel.
Et mon PB est la , quelqu'un a-t-il un exemple de code pour cette opration?

Par exemple, vous ouvrez une table dans Access, vous cliquez sur la case en haut a gauche, toute la grille est selectionnée, vous faites un clic droit, "copier", et vous collez dans un tableur.
Je souhaite faire la meme chose, ou quelque chose d'équivalent, mais surtout tres simple pour l'utilisateur.

D'avance merci pour tous ceux qui pourront m'aider.

Reynald.

2 réponses

roud59 Messages postés 99 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 26 juillet 2007 2
6 mars 2005 à 09:36
Bonjour Reynaldd

Voici ce que j'ai déja fait il y a qq mois.
Ca se colle bien dans excel, access je ne sais pas.

procedure TForm1.btCopieTableClick(Sender: TObject);
var
i : integer;
S : string;
Strings : TStringList;
begin
Strings := TStringList.Create;
try
with DBGrid1, Dataset as TTable do begin
DisableControls;
First;
for i := 0 to Columns.Count-1 do
S := S + Columns[i].Field.FieldName + #9;
Strings.Add(S);
while not EOF do begin
S := '';
for i := 0 to Columns.Count-1 do
S := S + Columns[i].Field.AsString + #9; // #9 est le caractère de tabulation
SetLength(S, Length(S)-1);
Strings.Add(S);
Next;
end;
end;
Clipboard.AsText := Strings.Text;
finally
EnableControls;
Strings.Free;
end;
end;

A adapter selon tes besoins.
J'éspère t'avoir aidé. Bonne prog

Roud59
3
Reynaldd Messages postés 4 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 10 mars 2005
10 mars 2005 à 21:59
Merci !

C'est Genial, c'est exactement ce qui me fallait !

Reynald.
0
Rejoignez-nous