Itselleni tuli ajatuskatko, kun en vain millään keksi, millälailla tuo koodinpätkä lukisi aina uudet tiedot? Nyt se pystyy näyttämään peräkkäin vain 2 tietoa! Missä vika?
ENOTES$ = NOTES$ OPEN "DATA.DAT" FOR INPUT AS #1 DO READAGAIN: INPUT #1, RIVI$ IF RIVI$ = "*" THEN INPUT #1, NAME$ INPUT #1, SNAME$ INPUT #1, LNAME$ INPUT #1, ADDRESS$ INPUT #1, ZIP$ INPUT #1, CITY$ INPUT #1, MOBILE$ INPUT #1, JOB$ INPUT #1, FAX$ INPUT #1, NOTES$ IF ENOTES$ = NOTES$ THEN GOTO READAGAIN CLOSE #1 GOTO VIEWLOADED END IF LOOP UNTIL EOF(1) OR INKEY$ = CHR$(27) CLOSE #1 SOUND 700, 1 GOTO VIEWLOADED
Kuten aina, helpottaisi jos tietäisi kaikki lähtötiedot. Esim. mikä on NOTES$ arvo alussa ja mitä tuo data.dat sisältää.
Data.dat sisältää erilaisia tietoja. Esim.:
Etunimi (NAME$) Toinen nimi (SNAME$) Sukunimi (LNAME$) Osoite (ADDRESS$) Postinumero (ZIP$) Kaupunki (CITY$) Matkapuhelin (MOBILE$) Työpuhelin (JOB$) Faksi (FAX$) Muistiinpanot (NOTES$)
Esim.
NAME$ = Tauno SNAME$ = Toinen LNAME$ = Testaaja ADDRESS$ = Testikatu 0 ZIP$ = 00000 CITY$ = Testilä MOBILE$ = 0440101010 JOB$ = 0500210201 FAX$ = 0500101010 NOTES$ = Työntekijä
Saiko tuosta selvää?
No näyttäisi siltä, että sinulla on tuossa vain yksi setti tietoja, joten tietenkään se ei voi enempää näyttääkään.
Äh, tuo oli vain esimerkki. Minulla on tiedostossa monta samallaista, tosin lainausmerkkien sisässä..
Niin no edelleen aika mahdotonta kertoa mihin ohjelma tökkää kun ei voi tietää mitä se yrittää tehdä. Sen tekeminen kun riippuu aika olennaisesti tiedoston sisällöstä.
Ymmärsinkö oikein että koodin tarkoitus etsiä tietokannasta henkilö, jonka NOTES$ arvo ei vastaa hakuparametriä ENOTES$?
Mikäli näin niin tämän koodin pitäisi ratkaista ongelma:
ENOTES$ = NOTES$ OPEN "DATA.DAT" FOR INPUT AS #1 DO INPUT #1, RIVI$ IF RIVI$ = "*" THEN INPUT #1, NAME$ INPUT #1, SNAME$ INPUT #1, LNAME$ INPUT #1, ADDRESS$ INPUT #1, ZIP$ INPUT #1, CITY$ INPUT #1, MOBILE$ INPUT #1, JOB$ INPUT #1, FAX$ INPUT #1, NOTES$ IF ENOTES$ <> NOTES$ THEN ' tai ENOTES$ != NOTES$ En muista kumpi on qb:ssä oikein =( CLOSE #1 GOTO VIEWLOADED END IF END IF LOOP UNTIL EOF(1) OR INKEY$ = CHR$(27) CLOSE #1 SOUND 700, 1 GOTO VIEWLOADED
Aihe on jo aika vanha, joten et voi enää vastata siihen.