Avatar billede drean Nybegynder
22. juli 2000 - 19:28 Der er 7 kommentarer og
2 løsninger

Database spm & clear liste ??

Hej

Jeg har et lille problem, jeg har lavet så man kan bladre i en database, men den kommer altid en længere end der er tekst:

If Data1.Recordset.EOF = False Then
Data1.Recordset.MoveNext
Data2.Recordset.MoveFirst
Do Until Data2.Recordset.EOF
emne = Data2.Recordset(\"navn\")
List1.AddItem emne
Data2.Recordset.MoveNext
Loop
Else
MsgBox \"Du kan ikke komme længere frem i databasen\"
End If

Hvordan sætter jeg den til at kommemed besked boksen før den tomme linje kommer ??

Så er der et lille spm mere, hvordan tømmer jeg en liste for alle de data der er i den i forvejen ??

Avatar billede joern Nybegynder
22. juli 2000 - 22:24 #1
Hej drean.

Første del af dit spørgsmål kender jeg ikke svaret på, men du tømmer en liste ved:
list1.clear

M.v.h.  Jørn
Avatar billede rennebo Nybegynder
23. juli 2000 - 02:46 #2
Drean

Kan databasen du læser fra indeholde andre tomme poster?
Avatar billede stig3 Mester
23. juli 2000 - 12:04 #3
Får du den første med ???

Prøv at flytte:
Data1.Recordset.MoveNext

..ned til linien efter \"loop\"
Avatar billede drean Nybegynder
23. juli 2000 - 13:33 #4
Databasen kan ikke indholde tomme poster, og gør det heller ikke, det er en alm Access 97 database.

Denne lille kode bliver brugt til en knap som kører frem i databasen.
Så derfor bliver jeg nødt til at køre Data1.Recordset.MoveNext
før jeg opdatere list1, men dataene fra Data2.Recordset, Jeg har også prøvet noget i stil med

Data2.Recordset.EOF - 1 eller et + i stedet, men kan ikke rigtig få det til at virke.

stig3 > Hvad mener du med, om jeg får den første med ????
Avatar billede nolle_k Nybegynder
23. juli 2000 - 19:21 #5
Jeg forstår ikke helt hvad du mener!! Der er en tom række allerførst og allersidst i recordsættet for at gøre det muligt at teste om sidste række er nået. Du kan ikke teste om du er lige før denne tomme liste andet end ved at teste Bookmark mod Recordset.RecordCount for at se om disse er lig med hinanden!! Jeg ved ikke lige om de skal være lig med hinanden eller eller Bookmark skal være en mindre for at være lige før den alle sidste række!

Håber det hjalp lidt!

//Nolle_K
Avatar billede drean Nybegynder
23. juli 2000 - 20:13 #6
Burde man ikke bare kunne bruge Data1.Recordset.EOF - 1 ?? For at se om det er den sidste minus 1 ?? altså den 2. sidste ??
Avatar billede stig3 Mester
23. juli 2000 - 22:14 #7
...EOF giver ikke en integer(tal), men en boolean(true/false). Derfor giver det ingen mening at trække 1 fra.

Det jeg mente med den første var at du skifter til den næste med det samme du kommer ind if-løkken. Dermed når du måske til den tomme record som nolle omtaler. Det er nok derfor at problemet opstår.

Du risikerer også at du ikke kan finde den første record af samme årsag. Du springer direkte til nummer 2.

Har du prøvet mit forslag - hvad skete der ?
Avatar billede stig3 Mester
23. juli 2000 - 22:21 #8
Har tænkt lidt over det.......

Prøv at smide:
Data1.Recordset.MoveNext

... op over if-sætningen.

Så skifter du til næste record Før du tester om du er nået enden.
Avatar billede drean Nybegynder
09. september 2000 - 01:45 #9
Ups...glemte det helt, da jeg fandt på noget andet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester