vreemd probleem bij eigen definitie van knop "volgend record"

Status
Niet open voor verdere reacties.

ernstcramer

Gebruiker
Lid geworden
14 dec 2015
Berichten
66
Ik heb zelf de knop "volgende record" gedefinieerd, omdat ik daar acties aan koppel.

Code:
Code:
Private Sub volgende_Click()
'---ga naar volgende record
On Error GoTo Err_volgende_Click
    DoCmd.GoToRecord , , acNext
    Me.txtCurRec = Me.Recordset.AbsolutePosition + 1
    Me.txtTotalRec.Requery
    totalRecords = [Forms]![sF_Count_records_T]![RecordsTotaal]
    If Me.txtCurRec <= totalRecords Then
        If curTab = "Tab0" Then
            Call Tab0_Click
        ElseIf curTab = "Tab1" Then
            Call Tab1_Click
        ElseIf curTab = "Tab2" Then
            Call Tab2_Click
        ElseIf curTab = "Tab3" Then
            Knop3 = "Pict0"
            Call Tab3_Click
        ElseIf curTab = "Tab4" Then
            Call Tab4_Click
        End If
    Else
        MsgBox ("Dit is het laatste record")
    End If
Exit Sub

Err_volgende_Click:
    'DoCmd.GoToRecord , , acLast
    MsgBox ("er is een fout opgetreden...")
    
End Sub

Het vreemde is dat bij gebruik van de knop gelijk de "On Error" wordt geactiveerd... :shocked:
De code werkte totdat ik de vergelijking
Code:
If Me.txtCurRec <= totalRecords Then
toevoegde...

Wat zou er aan de hand kunnen zijn? Want het programma komt dus helemaal niet langs deze evaluatie...
 
Zonder de db te zien? Geen idee. Anders dan dat ik het een rare code vind...
 
Zal er naar kijken!
 
:shocked::eek:
Ik denk dat ik het probleem inmiddels boven tafel heb...
In de regel
Code:
totalRecords = [Forms]![sF_Count_records_T]![RecordsTotaal]
ontbreekt zowel het hoofdformulier en de juiste naam van het subformulier.
Op zich heet het subformulier wel sF_Count_records_T maar in het hoofdformulier heb het de naam txtTotalRecords gegeven...

Ik heb het gewijzigd en het werkt nu.

Maar mogelijk (waarschijnlijk denk ik wel...) heb je nog andere opmerkingen...
 
Je bent in ieder geval niet bang voor (in mijn ogen nodeloos) ingewikkelde formulieren :). Neem alleen al het subformulier waar het probleem op zat: dat bevat één veld, met één record. Ik eet mijn hoed op (die ik dan wel eerst moet kopen, maar je moet er iets voor over hebben) als dat niet veel simpeler kan...
 
:p
...ik eet mijn hoed op...

Dat is zo'n oplossing waar ik jaren geleden uitgekomen ben. Om het totaal te bepalen moet je een group-by query gebruiken. Misschien is daar een andere oplossing voor maar die heb ik dan in ieder geval niet kunnen vinden, en ook niet "meegekregen" op de gevorderde cursus die ik ooit gehad heb...

Dit totaal-veld, en een veld (dat nu nog op "niet zichtbaar staat") waarin ik het totaal aantal records in gefilterde staat wil weergeven, zijn wat mij betreft de laatste hobbels die er in zitten.
Als ik jou beluister kan het allemaal nog veel eenvoudiger... Maar zover reikt mijn kennis op dit moment kennelijk dus niet.

Dank voor de moeite die je telkens neemt om te reageren! Ik leer veel van je!
 
Dat totaal dat je met dat subformulier maakt, en wat je blijkbaar ergens voor nodig hebt, kun je gelijk in een tekstveld zetten met de formule
Code:
=DCount(1;"data")
Je zult met mij eens zijn, dat dat toch een stuk simpeler is. Peper en zout bij de hoed? :D
 
het is jammer dat er bij de icoontjes geen peper en zout-stelletje zit... ;)

Dank, het is gelukt. :thumb: inclusief ook een veld dat het aantal gefilterde records laat zien.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan