Foutmelding leeg subform

Status
Niet open voor verdere reacties.

droogers

Gebruiker
Lid geworden
27 jun 2001
Berichten
173
Hallo,

Ik heb een formulier met daarin een subformulier. Als er in het subform geen gegevens staan krijg ik de foutmelding "Geen huidige record". Weet iemand hoe ik deze foutmelding kan wegkrijgen ?

Johan
 
Wordt er bij het openen van het subformulier code uitgevoerd? Standaard krijg je namelijk geen foutmelding als een subformulier leeg is.


Grtz,
 
In de gebeurtenisprocedures bij aanwijzen heb ik inderdaad een code staan. Met behulp van deze code werkt een eigen gemaakte navigatiebalk. De code luidt.
'On Error GoTo Err_Form_Current

'Dim rs As DAO.Recordset
'Dim Count As Integer, Position As Integer

' Set rs = Me.RecordsetClone
' rs.MoveLast
' rs.MoveFirst

' Count = rs.RecordCount
' Me!txtRecCnt = "van " & Count

' Position = Me.CurrentRecord
' Me!txtRecPos = Position


' If Position = 1 Then
' Me!gotoPrevious.Enabled = False
' Else
' Me!gotoPrevious.Enabled = True
' End If

' If Position > Count Then
' Me!gotoNext.Enabled = False
' Me!gotoNew.Enabled = False
' Me!txtRecCnt = "van " & Position
' Else
' Me!gotoNext.Enabled = True
' Me!gotoNew.Enabled = True
' Me!txtRecCnt = "van " & Count
' End If

' rs.Close
'Exit_Form_Current:
' Exit Sub

'Err_Form_Current:
' MsgBox Err.Description
' Resume Exit_Form_Current

Zoals je ziet heb ik de code uitgezet. Ik krijg dan inderdaad geen foutmelding meer, maar de navigatiebalk werkt niet meer. Kan ik de code misschien aanpassen ?
 
Als je door de code heen wandelt bij het uitvoeren kun je zien op welke regel het mis gaat. Ik kan me 2 regels voorstellen die mis zouden kunnen gaan bij een lege recordset. De regel set rs=me.recordsetclone en de regel count=rs.recordcount

Ik heb al jaren niet meer met DAO gewerkt, dus het komt me niet 123 naar voren hoe de oplossing zou moeten zijn. Ik kan me een if structuur voorstellen die controleert of de recordset leeg is en als dat het geval is alleen de knoppen activeert die dan nodig zijn.

Als je er niet uitkomt, plaats dan even een uitgekleede en gezipte DB op het forum, dan kunnen we er wel achter komen.


Grtz,
 
Ik ben er niet uitgekomen. In het bijgevoegde bestand kun je de database vinden.

alvast bedankt.

Johan
 

Bijlagen

De aangepaste code:

Code:
Private Sub Form_Current()
On Error GoTo Err_Form_Current

Dim rs As DAO.Recordset
Dim Count As Integer, Position As Integer

    Set rs = Me.RecordsetClone
    If rs.RecordCount > 0 Then
        rs.MoveLast
        rs.MoveFirst
    
        Count = rs.RecordCount
        Me!txtRecCnt = "van  " & Count
    
        Position = Me.CurrentRecord
        Me!txtRecPos = Position
    
        
        If Position = 1 Then
            Me!gotoPrevious.Enabled = False
        Else
            Me!gotoPrevious.Enabled = True
        End If
        If Position > Count Then
            Me!gotoNext.Enabled = False
            Me!gotoNew.Enabled = False
            Me!txtRecCnt = "van  " & Position
        Else
            Me!gotoNext.Enabled = True
            Me!gotoNew.Enabled = True
            Me!txtRecCnt = "van  " & Count
        End If
    Else
        MsgBox ("Aanpassen zodat alle knoppen die bij een leeg formulier moeten verschijnen getoond worden.")
    End If
   
    rs.Close
Exit_Form_Current:
    Exit Sub

Err_Form_Current:
    MsgBox Err.Description
    Resume Exit_Form_Current
End Sub

Grtz,
 
Bedankt

Bedankt voor de moeite. De code werkt nu goed.
Johan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan