Bin jetzt schon ein Stück weiter.
Das mit der Zuordnung der einzelnen Felder habe ich so gelöst.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
ListView1.DragMode := dmAutomatic;
end;
procedure TForm1.ListView2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := Source is TListView;
end;
procedure TForm1.ListView2DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
with ListView2 do
begin
begin
if DropTarget = nil then Exit;
Selected := DropTarget;
Items.Item[Selected.Index].SubItems.Clear;
Items.Item[Selected.Index].SubItems.Add(ListView1.Selected.Caption);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
for i := 0 to ListView2.Items.Count - 1 do
ListView2.Items.Item[i].SubItems.Clear;
ListView2.Refresh;
end;
Jetzt muss ich nur noch die
SQL-Anweisung zusammenbasteln.
Dazu brauch ich die Einträge von der ListView2, bei denen alle zwei Spalten belegt sind.
Die
SQL Anweisung sollte so aussehen:
SQL-Code:
UPDATE MyTable
SET Bez = I.Bez, Typ = I.Typ, Data = I.Data
FROM MyTable AS L RIGHT OUTER JOIN
Import AS I ON L.Nr = I.Nr
wobei Bez,Typ,Data die Werte aus der 1. Spalte der Listview2 und I.Bez,I.Typ,I.Data die Werte aus der 2. Spalte der ListView2 darstellen.
Wie kann ich die ListView2-Einträge auslesen, bei denen auch ein SubItem-Eintrag vorhanden ist?