Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TAdvStringGrid (https://www.delphipraxis.net/162440-tadvstringgrid.html)

Alterauge 23. Aug 2011 09:16

Datenbank: Access • Version: 2003 • Zugriff über: ADO

TAdvStringGrid
 
Hallo,

Habe ein TAdvStringgrid mit 8 Spalten in einer Zeile.
Möchte gerne über einen Button (Zeile selektiert) die 8 Spalte in einer Access Datenbank speichern!

TADO Connection
TADO Data Set


Was muß ich dem Button sagen?
var ???????????

begin
???????????????????
end;

Würde ich über eine Lösung freuen :-)
Gruß Andre:-D

DeddyH 23. Aug 2011 09:29

AW: TAdvStringGrid
 
ADO ist nicht meine Welt, aber ich denke, ein ADOCommand mit einem parametrisierten SQL sollte zum Erfolg führen.
Code:
INSERT INTO Tabelle(Feld1, Feld2, Feld3)
VALUES(:feld1, :feld2, :feld3)
Den Parametern feld1 bis feld3 (oder in Deinem Fall halt 8) weist Du die Werte der Spalten zu und führst dann mittels Execute das ADOCommand aus.

milo 23. Aug 2011 09:40

AW: TAdvStringGrid
 
Hallo,

Delphi-Quellcode:
Function AchteSpalte:String;
begin
  Result := '';
  With ADVStringGrid1 do
    If Length(Cells[8,Row]) > 0 then
      Result := Cells[8,Row];      
end;
Wie Du das in Dein Ado rein bekommst entzieht sich meiner Kenntnis.

Gruß :D Milo

jaevencooler 23. Aug 2011 11:53

AW: TAdvStringGrid
 
Moin, Moin,

also willst Du nur die achte Spalte speichern ?
oder willst du alle 8 Spalten speichern, und dann wie in der Tabelle ?
pro Spalte ein Datenbankfeld oder pro Spalte eine Zeile in der Datenbank.... 8-)


Gruß
Michael

Alterauge 23. Aug 2011 14:02

AW: TAdvStringGrid
 
Hallo,

möchte nur die 8 Spalte speichern!

Gruß Andre

DeddyH 23. Aug 2011 14:11

AW: TAdvStringGrid
 
Alle Werte der 8. Spalte? Gibt es irgendwelche Kriterien, welche Daten zu welchen gehören?

Alterauge 23. Aug 2011 14:37

AW: TAdvStringGrid
 
Hallo,

alle werte der achten spalte [inhalt]
oder was meinst du?

gruß andre

DeddyH 23. Aug 2011 14:43

AW: TAdvStringGrid
 
Das meinte ich. Ich habe kein AdvStringGrid, aber ungefähr so sollte es gehen:
Delphi-Quellcode:
for i := ADVStringGrid1.FixedRows to ADVStringGrid1.RowCount - 1 do
  begin
    s := ADVStringGrid1.Cells[7, i];
    ADOCommand.Parameters.ParamByName('param').Value := s;
    ADOCommand.Execute;
  end;

milo 23. Aug 2011 15:09

AW: TAdvStringGrid
 
Nimm einfach meine Funktion und weise den Wert der 8ten selektierten Spalte einem Datenbankfeld zu.

Delphi-Quellcode:
  ADOCommand.Parameters.ParamByName('param').Value := AchteSpalte;
  ADOCommand.Execute;
Gruß :D Milo

DeddyH 23. Aug 2011 15:10

AW: TAdvStringGrid
 
Und dann hat er genau einen Wert, oder verstehe ich Deine Funktion falsch?

milo 23. Aug 2011 15:15

AW: TAdvStringGrid
 
Zitat:

Zitat von DeddyH (Beitrag 1119027)
Und dann hat er genau einen Wert, oder verstehe ich Deine Funktion falsch?

Yepp, so habe ich die Anfrage verstanden. Da Andre vorher gesagt hat, dass die Zeile selektiert ist wird er vermutlich auch nur die selektierte Zeile mit der 8ten Spalte auslesen wollen. :)

Ansonsten kann man es ja um eine Schleife erweitern, die "nCount = 0 to AdvStringGrid1.RowCount -1" durchzählt.

Gruß :D Milo

DeddyH 23. Aug 2011 15:19

AW: TAdvStringGrid
 
Deshalb hatte ich in #6 noch einmal nachgefragt. Allerdings bleibt mir der Sinn einer Funktion hierfür immer noch verborgen, da es damit in diesem Fall ja sogar umständlicher wird.

Alterauge 23. Aug 2011 15:27

AW: TAdvStringGrid
 
Ich sollte vielleicht was anderes testen!

wie gesagt habe ein stringgrid mit 8 spalten und endlose zeilen!
wenn ich mich zb. in zeile 5 befinde und button1 drücke,
sollte der inhalt aus spalte 8 im memo1 angezeigt werden.

DeddyH 23. Aug 2011 15:30

AW: TAdvStringGrid
 
Das ist doch dasselbe in Grün:
Delphi-Quellcode:
Memo.Lines.Clear;
for i := ADVStringGrid1.FixedRows to ADVStringGrid1.RowCount - 1 do
  begin
    s := ADVStringGrid1.Cells[7, i];
    Memo.Lines.Add(s);
  end;

milo 23. Aug 2011 15:38

AW: TAdvStringGrid
 
Oder:

Delphi-Quellcode:
procedure Form1.Button1Click(Sender:TObject);
begin
  Memo1.Lines.Clear;
  Memo1.Lines.Add(AdvStringGrid1.Cells[7,AvancedStringGrid1.SelectedRow]);
end;
:)

Alterauge 23. Aug 2011 16:12

AW: TAdvStringGrid
 
[DCC Fehler] UnitMain.pas(409): E2029 '[' erwartet, aber ']' gefunden

es geht leider nicht! wieso?

milo 23. Aug 2011 16:17

AW: TAdvStringGrid
 
Sorry, Korrektur:

Delphi-Quellcode:
procedure Form1.Button1Click(Sender:TObject);
 begin
   Memo1.Lines.Clear;
   Memo1.Lines.Add(AdvStringGrid1.Cells[7,AvancedStringGrid1.Row]);
 end;
Ggf auch noch prüfen ob überhaupt so viele Spalten vorhanden sind ...

Gruß :D Milo

milo 23. Aug 2011 16:21

AW: TAdvStringGrid
 
Testprojekt mit einem StringGrid auf der Form das mindestens 8 Spalten enthält. Die Anzahl der Zeilen ist mehr als zwei...:

Delphi-Quellcode:
function TForm1.AchteSpalte: String;
begin
  With AdvStringGrid1 do
   if Length(Cells[8,Row]) > 0 then
     Result := Cells[8,Row]
    else
     Result := '';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(AchteSpalte);
end;

procedure TForm1.FormCreate(Sender: TObject);
Var nI, nL : Integer;
begin
  for nI := 1 to AdvStringGrid1.RowCount - 1 do
    for nL := 1 to AdvStringGrid1.ColCount - 1 do
      AdvStringGrid1.Cells[nL,nI] := Chr(64 + nL + ni);

end;

Alterauge 23. Aug 2011 16:21

AW: TAdvStringGrid
 
super ! geht !

aber es wir so im memo angezeigt!

<font color="clBlue"> Text aus Spalte 8 </font>


aber erstmal danke

procedure Form1.Button1Click(Sender:TObject);
begin
Memo1.Lines.Clear;
Memo1.Lines.Add(AdvStringGrid1.Cells[7,AvancedStringGrid1.Row]);
end;

geht super

milo 23. Aug 2011 16:28

AW: TAdvStringGrid
 
Dann ist Deine Spalte 8 vermutlich ein formatiertes Textfeld.

Gruß :D Milo

Alterauge 23. Aug 2011 16:29

AW: TAdvStringGrid
 
was nun sieht blöd aus :-)

milo 23. Aug 2011 16:32

AW: TAdvStringGrid
 
Zitat:

Zitat von Alterauge (Beitrag 1119060)
was nun sieht blöd aus :-)

Bischen Mitarbeit darf man doch von Dir erwarten, oder? :roll:

Gruß :D Milo

Alterauge 23. Aug 2011 16:34

AW: TAdvStringGrid
 
natürlich ! bin schon am googeln! :shock:

zeras 23. Aug 2011 18:35

AW: TAdvStringGrid
 
Zitat:

Zitat von Alterauge (Beitrag 1119062)
natürlich ! bin schon am googeln! :shock:

Es gibt bei den Komponenten von TMS auch Anleitungen, wo der formatierte Text beschrieben ist.:roll:

TBDAdvGrid
http://www.tmssoftware.com/site/manu...TDBAdvGrid.pdf

TAdvStringGrid
http://www.tmssoftware.com/site/manu...rs%20Guide.pdf

mkinzler 23. Aug 2011 20:13

AW: TAdvStringGrid
 
Zudem sagt der Titel deines Beitragers wieder nichts über dein Problem aus!

http://www.delphipraxis.net/faq.php?faq=dp_05#faq_dp_11


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz