Toon posts:

[VB6] AbsolutePosition

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de volgende code

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Sub GetSelectedController(ByVal index As Integer, ByRef Name As String, ByRef IpAddress As String, ByRef LocalPort As Integer, ByRef RemotePort As Integer)
' Pre:  index bevat het hoeveelste controller
' Post: controllergegevens

    Set rsController = dbController.OpenRecordset("Controller", dbOpenDynaset)
    
    rsController.AbsolutePosition = index
    
    Name = rsController!Name
    IpAddress = rsController!IpAddress
    LocalPort = rsController!LocalPort
    RemotePort = rsController!RemotePort

End Sub


Het is de bedoeling dat de variabelen Name ed. de gegevens in de database van de betreffende index teruggeven, ik krijg echter constant de gegevens van het eerste element

Wat (ongetwijfeld kinderachtig simpel iets) doe ik hier fout of vergeet ik?

  • Sinedia
  • Registratie: Juli 2002
  • Laatst online: 26-07 13:50
MSDN:
Moves the cursor to a specific index within a Recordset object.

Syntax

object.moveAbsolute(nIndex)

Parameters

object

A Recordset script object.

nIndex

An integer that specifies an absolute index that is 1-based.

Remarks

Returns True if successful and False if not successful.

Use moveAbsolute to specify the absolute index for moving the cursor within a Recordset object.

To move the cursor to a relative position, use the move method. Other methods that move the cursor are moveFirst, moveLast, movePrevious, and moveNext.

Example

The following moves the cursor to the fourth record.

myRS.moveAbsolute(4);
Met andere woorden... Je gaat naar een bepaalde pos in een recordset met moveAbsolute niet met AbsolutePosition.

Verwijderd

Topicstarter
Hij werkt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Sub GetSelectedController(ByVal index As Integer, ByRef Name As String, ByRef IpAddress As String, ByRef LocalPort As Integer, ByRef RemotePort As Integer)
' Pre:  index bevat het hoeveelste controller
' Post: controllergegevens

    Set rsController = dbController.OpenRecordset("Controller", dbOpenDynaset)
    
'Gewijzigd
    rsController.Move (index)
    
    Name = rsController!Name
    IpAddress = rsController!IpAddress
    LocalPort = rsController!LocalPort
    RemotePort = rsController!RemotePort

End Sub


Mijn boek deed het als volgt (snap nog steeds niet waarom dat niet werkt?)

code:
1
2
3
4
'Ga naar de gespecificeerde positie
If lAbs > rsTest.RecordCount Then lAbs = NewDyn.RecordCount
If lAbs < 0 Then Then lAbs = 0
NewDyn.AbsolutePosition = lAbs


Behalve de validatie deed ik toch hetzelfde :?

PS MoveAbsolute kwam in mijn versie (MS DAO 3.6) niet voor