Avatar billede phi-del Nybegynder
02. januar 2006 - 13:48 Der er 15 kommentarer og
1 løsning

rec.eof

hej til alle.
jeg en tabel med 2 felter.

X  Y
--------
1    2
3    3
4    5
2    2
2
3
4
5
67
8
9
9
6
4
3


problemmet er at når jeg når til den sidste på i Y, så kan jeg ikke lave rec.edit mere og jeg får en fejlmeddelelse.

er der ikke noget eller funktion som man kan tjekker om man er nået til EOF for Y feltet ?
Avatar billede terry Ekspert
02. januar 2006 - 13:54 #1
if both fields are in the same recordset then you dont reacj EOF until ALL records have been read X = 3 Y = NULL

what problem do you get?
Avatar billede terry Ekspert
02. januar 2006 - 13:55 #2
reacj = reach
Avatar billede phi-del Nybegynder
02. januar 2006 - 14:29 #3
Det der sker er meget normalt, men problemmet er :

at jeg sætter mig på bestemte X værdier og udfra dem henter jeg deres Y værdier.
men jeg skal dog stope ved  den sidste y værdi. men hvordan jeg stopper der ved jeg ikke :(

jeg har prøvet med :
if isnull(y) then
exit function
else
.....
end if
Avatar billede phi-del Nybegynder
02. januar 2006 - 14:30 #4
´ved overstående kode melder den.....
der er ingen aktuel post
Avatar billede terry Ekspert
02. januar 2006 - 14:46 #5
can we see the rest of the code?
Avatar billede phi-del Nybegynder
02. januar 2006 - 14:47 #6
Problemmet er at min recordset ser sådan ud:

X  Y
--------
1    2
3    3
4    5
2   
2    3
3
4    4
5
67  1
8
9    3
9
6
4


og jeg ved ikke hvordan jeg kan stoppe ved den sidste Y værdi ?
Avatar billede phi-del Nybegynder
02. januar 2006 - 14:54 #7
det er ikke fordi jeg ikke vil visse resten af koden men, det kræver ligesom at jeg smider hele koden her, og den er meget lang.(det er interpollering af tald)
og er delt op 1 procedure og 2 funktioner.
Avatar billede phi-del Nybegynder
02. januar 2006 - 14:55 #8
men der er mere denne del er vigtigt-
Kommentar: phi-del
02/01-2006 14:47:54
Avatar billede phi-del Nybegynder
02. januar 2006 - 14:56 #9
skal jeg smide den op ?
Avatar billede terry Ekspert
02. januar 2006 - 14:56 #10
So you actually want to continue until EOF becaus ethe last record could also have a valid "Y"


            If Not IsNull(rec("Y")) Then
            'Only do something if "Y" is NOT NULL
            Debug.Print "X = " & rec("X") & " Y = " & rec("Y")
            End If
Avatar billede phi-del Nybegynder
02. januar 2006 - 15:06 #11
Kommentar: phi-del
02/01-2006 14:47:54

på de tomme felter Y interpolere jeg fint. men ved den sidste y post slutter mulligheden for interpollering. og der vil jeg nemlige stoppe.
jeg kan ikke rigtigt bruge if isnull() og stoppe ved den, da jeg ved det statement smider ting ind.
men den sidste i y vil jeg gerne stoppe
Avatar billede phi-del Nybegynder
02. januar 2006 - 15:09 #12
jeg smider en af functionerne op. og det er denne function som fejlen forkommer i sidste linie. men fejlen forkommer kun ved sidste post i tabellen. ellers fungere den fint.


Function FindDeltaY(y1, y2, x, i)
Dim rec As Recordset
Dim qry As QueryDef
Dim strsql As String
Dim dbs As Database

Set dbs = CurrentDb

strsql = "SELECT * FROM Tabel "
Set qry = dbs.CreateQueryDef("", strsql)
Set rec = qry.OpenRecordset()

rec.MoveFirst
While Not rec.Fields!PFX = x
    rec.MoveNext
Wend

While IsNull(rec.Fields("MP" & i))
    rec.MovePrevious
Wend

y1 = rec.Fields("MP" & i)
 

rec.MoveFirst
While Not rec.Fields!PFX = x
    rec.MoveNext
Wend

While IsNull(rec.Fields("MP" & i))
    rec.MoveNext
Wend

y2 = rec.Fields("MP" & i)

rec.Close
Set qms = Nothing
End Function
Avatar billede terry Ekspert
02. januar 2006 - 15:12 #13
when I dont know what you want to do (other than stop) then its not easy to make any suggestions.

If you have reached EOF and the last Y is = NULL then you rcode will (should) stop if your loop is correct (Do UNTIL .EOF)
Avatar billede terry Ekspert
02. januar 2006 - 15:18 #14
You could maybe also test for EOF

IF .EOF and isNull(rec("Y")) THen Exit function


But if you need to run some more code (clean up your variables etc.)
then you could  a Go To
Avatar billede phi-del Nybegynder
09. januar 2006 - 14:59 #15
har løst det takker for hjælpen
Avatar billede terry Ekspert
13. januar 2006 - 14:49 #16
selv tak og god weekend
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