Hallo zusammen,
ich möchte für ein Warenwirtschaftsprogramm beim Artikel anlegen vermeiden, dass ein und der selbe Hersteller mehrfach angelegt wird. Man gibt also den Hersteller in Form A ein, drückt enter und es öffnet sich Form B mit allen Ähnlichen Herstellern. -->
Knorr AG
Knorr GmbH
Knorr und lecker
Knorrirgendwas
Dann den richtigen Hersteller auswählen und chick.
Die Datenbank soll also durchsucht werden und dann geprüft werden ob dieser Hersteller bereits
in Form B steht, wenn ja dann nichts machen, wenn nein, dann auflisten.
Das Prüfen ist notwendig, damit nicht 70x Knorr steht, weil ich 70 Artikel von dieser Firma habe (in Grafik wie es nicht sein soll)
Hier der Quellcode mit dem Problem, dass die J Schleife nie durchlaufen wird. Ich verstehe nicht warum
Delphi-Quellcode:
begin
listview1.Clear;
Ini:=TIniFile.create(einstellungen.artikelreg);
//---------------------------------------------------- //Datenbankpfad zuweisen
db_ar_index:=ini.readstring('
DB_AR', '
index', db_ar_index);
// Anzahl Datenbankeinträge lesen
ean_hersteller_suche:=pflege.edit8.text;
//herstellerfeld // Herstellerbezeichnung in aktuelle Form reinholen
for I := 0
to strtoint(db_ar_index)
do // von 0 bis Ende der DB Einträge
begin
showmessage('
beginne i schleife');
Ini:=TIniFile.create(einstellungen.artikelreg);
ean_hersteller_db:= ini.readstring(inttostr(I), '
hersteller', ean_hersteller_db);
// Hersteller aus 1. Datensatz lesen
ean_hersteller_suche:=uppercase(ean_hersteller_suche);
// in Großbuchstaben umwandeln
ean_hersteller_db_short:= copy(ean_hersteller_db,1,(length(ean_hersteller_suche)));
ean_hersteller_db_short:=uppercase(ean_hersteller_db_short);
if (Pos(ean_hersteller_suche,ean_hersteller_db_short)>0)
// wenn Herstellereingabe von Benutzer mit Datenbankeintrag übereinstimmt
then begin
showmessage('
i: suchwort enthalten');
for J := 0
to listview1.items.Count - 1
do // --> listview durchsuchen ob Hersteller schonmal gelistet ist
begin
showmessage('
beginne J schleife');
if (ListView1.Items.Item[J].Caption = ean_hersteller_db)
// prüfen ob Hersteller schon einmal aufgeführt
then begin
exit;
// Schleife verlassen
end
else begin
list:= listview1.Items.add;
//Eintrag erzeugen
list.caption:=ean_hersteller_db;
end;
end;
end;
end;
// schleife I