![]() |
DBGrid - Multiselect
Hallo Leute, :)
ich möchte mehrere Zeilein in einem DBGrid auswählen und die Werte in ein anderes Grid schreiben. Der Code funktioniert schon:
Code:
(DataSourse von Grid1 ist tblArtikel)
procedure TForm1.Button3Click(Sender: TObject);
var i : integer; begin if Grid1.SelectedRows.Count>0 then begin for i:=0 to Grid1.SelectedRows.Count-1 do begin tblArtikel.GotoBookmark(pointer(Grid1.SelectedRows.Items[i])); temp.Append; temp.FieldByName('Nummer').AsString:=tblArtikelANR.AsString; temp.FieldByName('Bezeichnung').AsString:=tblArtikelBez1.AsString; temp.Post; temp.Next; end; end; end; Es gibt aber zwei Fehler, die ich nicht finden kann: - Die erste Artikelnummer wird nicht in der temp-Tabelle angenommen - Es werden nur die ersten Ziffern von den jeweiligen Artikelnummern angezeigt :?: ("ANR" in der Artikel-Tabelle ist ein String-Feld und hat Leerzeichen) Kann mir jemand sagen, was ich hier falsch mache? Danke für alle Vorschläge! |
Re: DBGrid - Multiselect
Hi,
Frage: Warum temp.next; ? ist hier doch überflüssig. Was heißt "- Die erste Artikelnummer wird nicht in der temp-Tabelle angenommen "? prüfe die länge deiner Felder ANR und Nummer! Oft ist hier ein feld zu kurz und es kann dann nur ein Teilstring (abgeschnitten "abgeschn") übernommen werden. Gruß oki |
Re: DBGrid - Multiselect
Stimmt, "Temp.Next" ist überflüssig. :oops:
Die erste Artikelnummer wird nicht in die temp-Tabelle geschrieben, d. h. die erste Zeile in der Spalte "Nummer" ist leer, die Bezeichnung ist aber da. :?: Ich habe die Größe der Spalten in beiden Tabellen überprüft, sie sind identisch(character 6). Verstehe einfach nicht wo der Bug ist :?: :?: |
Re: DBGrid - Multiselect
Und welche Daten stehen in der zweiten Zeile der Tabelle temp?
|
Re: DBGrid - Multiselect
Also, Ich habe die Artikelnummer und Bezeichnung
Zum Beispiel stehen in der Artikeltabelle folgende Daten:
Code:
Wo ist der Bug :?: :?: :?:
|_ANR_|_Bez._______|
| 17 | Test1 | | 25 | Test2 | | 33 | Test3 | | 56 | Test4 | Das wird ind die Temp-Tabelle mit dem o. g. Code so übertragen: |_ANR_|_Bez.______| | | Test1 | | 2 | Test2 | | 3 | Test3 | | 5 | Test4 | Wie gesagt ist der Feld "ANR" in der Artikeltabelle ein character(6) und enthält Leerzeichen. |
Re: DBGrid - Multiselect
Wie ist der in deer Tabelle temp? Wie sehen die Einträge in der Original-Tabelle konkret aus (inklusive der Leerzeichen)?
|
Re: DBGrid - Multiselect
Welche Datenbank verwendest du?
Gruß oki |
Re: DBGrid - Multiselect
Es leuchtet mir grad ein, das sind zwei verschiedene Tabellen :!: ,
tblArtikel ist eine .DBF Tabelle und temp .ADT (Advantage Table) Vieleicht ist das das Problem, muss austesten. |
Re: DBGrid - Multiselect
Wichtig ist das da Tabellenspalten gleichen oder ähnlichen Typ haben!
|
Re: DBGrid - Multiselect
Es hat sich erledigt, mit der Tabelle Temp stimmte was nicht, habe sie einfach neu erstellt und jetzt funktioniert's! :D
Danke für die Hilfe. :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz