mlb
Anmeldungsdatum: 20.08.2006 Beiträge: 7
|
Verfasst am: 02.09.2006, 17:35 Titel: Datensatz Ändern funktioniert nicht |
|
|
hallo"
untne ist mein coding, con ändern..
aber es funktioniert nicht, er speichert
alte sowie neue datensätze..
wieso?
wo ist der fehler?
mfg
mlb
Code: |
AENDERN:
LOCATE 25, 1
PRINT "Aendern ";
DIM arecc AS STRING
DIM aaanummer AS STRING
DIM aaartikel AS STRING
DIM aaalieferanteins AS STRING
DIM aaalieferantzwei AS STRING
DIM aaapreis AS STRING
DIM aaalieferantd AS STRING
DIM aaapreisz AS STRING
DIM aaapreisd AS STRING
LOCATE 16, 4
PRINT "Nummer: "
LOCATE 16, 19
LINE INPUT "", aenummer$ 'Eingabe Loeschbegriff (nummer)
'GESAMTDATENBESTAND EINLESEN U. AUSGEBEN
OPEN "C:\artikel.dat" FOR INPUT AS #1
WHILE NOT EOF(1)
LINE INPUT #1, arecc$
gefunden = 0
'RECORD IN EINZELFELDER ZERLEGEN
aaanummer = LEFT$(arecc, 15)
aaartikel = MID$(arecc, 16, 15)
alieferanteins = MID$(arecc, 31, 15)
apreis = MID$(arecc, 46, 5)
alieferantzwei = MID$(arecc, 51, 15)
apreisz = MID$(arecc, 66, 5)
alieferantd = MID$(arecc, 71, 15)
apreisd = MID$(arecc, 86, 5)
'DATEN NUR ANZEIGEN WENN SUCHNACHNAME GEFUNDEN
IF LEFT$((aenummer$ + SPACE$(15)), 15) = aaanummer$ THEN
gefunden = 1 'SCHALTER GEFUNDEN SETZEN
'EINZELFELDER MIT HINWEISTEXT ANZEIGEN
LOCATE 16, 4
PRINT "Nummer: "; aaanummer
LOCATE 18, 4
PRINT "Bezeichnung: "; aaartikel; " ";
LOCATE 20, 4
PRINT "Lieferanten: ";
LOCATE 20, 20
PRINT alieferanteins
LOCATE 20, 38
PRINT alieferantzwei
LOCATE 20, 56
PRINT alieferantd
LOCATE 22, 4
PRINT "Preise/EUR: ";
LOCATE 22, 20
PRINT ""; apreis; "";
LOCATE 22, 38
PRINT ""; apreisz; "";
LOCATE 22, 56
PRINT ""; apreisd; "";
sleep 2
color ,1
END IF
WEND
CLOSE #1
'EINGABE EINZELFELDER
color 1,7
LOCATE 16, 15
LINE INPUT aenummer$
LOCATE 18, 18
LINE INPUT aeartikel$
LOCATE 20, 20
LINE INPUT aelieferanteins$
LOCATE 22, 20
LINE INPUT aepreis$
LOCATE 20, 38
LINE INPUT aelieferantzwei$
LOCATE 22, 38
LINE INPUT aepreisz$
LOCATE 20, 56
LINE INPUT aelieferantd$
LOCATE 22, 56
LINE INPUT aepreisd$
'FELDER AUF EINHEITLICHE LAENGE BRINGEN
leer$ = SPACE$(15)
aenummer$ = aenummer$ + leer
aenummer$ = LEFT$(aenummer$, 15)
aeartikel$ = aeartikel$ + leer
aeartikel$ = LEFT$(aeartikel$, 15)
aelieferanteins$ = aelieferanteins$ + leer
aelieferanteins$ = LEFT$(aelieferanteins$, 15)
aepreis$ = aepreis$ + leer
aepreis$ = LEFT$(aepreis$, 5)
aelieferantzwei$ = aelieferantzwei$ + leer
aelieferantzwei$ = LEFT$(aelieferantzwei$, 15)
aepreisz$ = aepreisz$ + leer
aepreisz$ = LEFT$(aepreisz$, 5)
aelieferantd$ = aelieferantd$ + leer
aelieferantd$ = LEFT$(aelieferantd$, 15)
aepreisd$ = aepreisd$ + leer
aepreisd$ = LEFT$(aepreisd$, 5)
'ZUSAMMENSETZEN GESAMTRECORD
aerecord$ = aenummer$ + aeartikel$ + aelieferanteins$ + aepreis$ + aelieferantzwei$ + aepreisz$ + aelieferantd$ + aepreisd$
'GESAMTDATENBESTAND EINLESEN U. NACH AENDERUNGSBEGRIFF SUCHEN
OPEN "C:\artikel.dat" FOR INPUT AS #1
OPEN "C:\artikel1.dat" FOR OUTPUT AS #2
WHILE NOT EOF(1)
LINE INPUT #1, arecc$
'AENDERUNGSBEGRIFF WIRD AUS RECORD GEFILTERT
aenummer$ = LEFT$(arecc, 15)
IF aenummer$ <> aaanummer$ THEN 'WENN KEIN AENDERUNGSBEGRIFF VORHANDEN
PRINT #2, arecc$ 'SPEICHERE RECORD IN HILFSDATEI
ELSE
LOCATE 25, 1
PRINT #2, aerecord$
PRINT "RECORD "; aaanummer$; " WIRD GEAENDERT";
SLEEP 2
END IF
WEND
CLOSE #1
CLOSE #2
SHELL "del C:\artikel.dat" 'ORGINALDATEI WIRD GELOESCHT
SHELL "ren C:\artikel1.dat artikel.dat" 'HILFSDATEI ERHAELT NAMEN DES
COLOR , 1 'ORIGINALS
RETURN
|
_________________ so einfach wie möglich, so kompliziert wie notwendig |
|