• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Form 'showt' niet

Status
Niet open voor verdere reacties.

Knooi

Gebruiker
Lid geworden
7 jul 2022
Berichten
11
Dag raadsman/-vrouw

Sindskort ben ik bezig met het ontwikkelen van een eigen boekhoudprogramma. Hierbij heb ik nog veel vragen die ik wellicht nog later op dit forum stel. Eerst wil ik het automatiseren van mijn klantrelaties in orde hebben. Hierbij werkt de code, die ik op een of andere manier al heb weten te testen. Na verloop van tijd besloot het programma opeens een foutmelding te geven dat de code voor het weergeven van het formulier niet werkt. Hierbij heb ik een simpele code gebruikt namelijk:
Code:
Sub Show_Form()


    frmForm.Show
    
End Sub
Is er iemand die hier naar kan kijken? Ik kan op het internet niets vinden, wellicht kijk ik verkeerd. Tijdens het compileren kwam er ook een foutmelding dat msgValue = MsgBox("Weet je zeker dat je deze relatie wilt toevoegen?", vbYesNo + vbInformation, "Confirmation") ook verkeerd was, dit had te maken met de regel bovenin Option Explicit. Hier zou de regel geen 'explicit declaration' zijn.
Code:
Private Sub CommandToevoegen_Click()


    Dim msgValue As VbMsgBoxResult
    
    msgValue = MsgBox("Weet je zeker dat je deze relatie wilt toevoegen?", vbYesNo + vbInformation, "Confirmation")
    
    If msgValue = vbNo Then Exit Sub
    
    Call Submit
    Call Reset
    
End Sub
Ik heb het bestand toegevoegd, het zou heel fijn zijn als iemand hier wel uit kan komen. Ik ben al wat daagjes aan het knooien...

Alvast bedankt!
 

Bijlagen

In de Sub Reset gaat hij fout op:
.Frame2.ColumnCount = 9

Wijzig de regels in de Sub Reset naar dit:
Code:
        .Frame2.ListKlantrelaties.ColumnCount = 9
        .Frame2.ListKlantrelaties.ColumnHeads = True
        
        .Frame2.ListKlantrelaties.ColumnWidths = "30,60,75,40,60,45,55,70,70"
        
        If iRow > 1 Then
            .Frame2.ListKlantrelaties.RowSource = "Relaties!A2:I" & iRow
        Else
            .Frame2.ListKlantrelaties.RowSource = "Relaties!A2:I2"
        End If
 
Laatst bewerkt:
Bedankt @edmoor, maar nu volgt de volgende foutmelding; "Kan de eigenschap ColumnWidths niet instellen. Type komt niet overeen." Hiervan hoeft de som niet gelijk te zijn aan de lengte van de list, dit heb ik al geprobeerd. Wat zou hiervan de oplossing kunnen zijn?
 
1. leg eigenschappen (.columncount, .columnwidths, etc.) van elementen in een Userform vast in de ontwerpmodus, niet in de code
2. vermijd Rowsource en gebruik .List om een combobox/listbox te vullen
3. in een userform kunnen alle elementen rechtstreeks worden benaderd, ook al bevinden ze zich in een ander element (Multipage, Frame, Tabstrip, etc.) In jouw voorbeeld volstaat ListKlantrelaties.Value
 
Bedankt @edmoor, maar nu volgt de volgende foutmelding; "Kan de eigenschap ColumnWidths niet instellen. Type komt niet overeen." Hiervan hoeft de som niet gelijk te zijn aan de lengte van de list, dit heb ik al geprobeerd. Wat zou hiervan de oplossing kunnen zijn?

In jouw document die ik hier heb werkt die wijziging prima.
 
In jouw document die ik hier heb werkt die wijziging prima.
Zou u dit bestand misschien kunnen sturen? Ik heb geprobeerd om de elementen in de ontwerpmodus aan te passen (de optie gegeven door @snb) en binnen de code, waarvan beide uitgangen niet werken en dezelfde foutcode geven. Misschien geeft uw bestand opheldering.
 
Kijk eens naar dit:
 

Bijlagen

Laatst bewerkt:
Bedankt Edmoor! Deze code werkt nu met het toevoegen van relaties. Het enige wat nog niet werkt is de database in het formpje zelf. Deze is er wel maar laat zich niet zien. Hier kom ik zelf wel uit deze week hoop ik. Excuus voor de late reactie, maar de vraag is wat mij betreft opgelost. Nogmaals bedankt.
Groet, Knooi
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan