Dbgrid copier/coller [Résolu]

Reynaldd 4 Messages postés lundi 10 janvier 2005Date d'inscription 10 mars 2005 Dernière intervention - 6 mars 2005 à 00:06 - Dernière réponse : Reynaldd 4 Messages postés lundi 10 janvier 2005Date d'inscription 10 mars 2005 Dernière intervention
- 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.
Afficher la suite 

2 réponses

Répondre au sujet
roud59 103 Messages postés jeudi 16 septembre 2004Date d'inscription 26 juillet 2007 Dernière intervention - 6 mars 2005 à 09:36
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de roud59
Reynaldd 4 Messages postés lundi 10 janvier 2005Date d'inscription 10 mars 2005 Dernière intervention - 10 mars 2005 à 21:59
0
Utile
Merci !

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

Reynald.
Commenter la réponse de Reynaldd

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.