• 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.

Onvoldoende geheugen.

Status
Niet open voor verdere reacties.

p_broersen

Gebruiker
Lid geworden
8 apr 2005
Berichten
15
Ik heb in VBA een formulier gemaakt om auditresultaten op te slaan in een excel werkblad.
De gegevens van het formulier worden middels een procedure in twaalf cellen van het werkblad gezet. Om dat te kunnen doen heb ik 15 variabelen gedeclareerd, waarvan 9 als string, 3 als integer, 2 als date en 1 als boolean.
Zodra de gegevens van het formulier in het werkblad moeten worden gezet geeft excel aan dat er onvoldoende geheugen is en dan wordt excel wegens fouten afgesloten.

Kan de oorzaak van dit probleem liggen in het grote aantal variabelen? Zo ja, hoe kan ik dat oplossen?

Mzzl

Paul
 
Ik kan me niet voorstellen dat 15 variabelen een geheugen probleem veroorzaken. Ik heb diverse programma's met aanzienlijk meer variabelen die probleemloos werken.

Misschien kun je een voorbeeld bestandje bijvoegen om te zien of het probleem zich ook bij anderen voordoet ?
 
Hierbij het bestand.

Als op het werkblad 'start' op de knop 'feiten invoeren' wordt geklikt, verschijnt het formulier. Er moet een audit soort worden gekozen, en vervolgens de auditcode worden geselecteerd. Als er na het invullen van het formulier op 'opslaan' wordt geklikt, gaat het mis.

Het bestand is nog lang niet af, maar ik loop nu al vast.
 

Bijlagen

De knop "feit invoeren" werkt inderdaad weer, nu geeft alleen de procedure "lstFeitID_change" problemen.

Op het moment dat er een keuze wordt gemaakt in de combobox "lstFeitID" dan moet er een volgnummer gegenereerd worden voor het Feitnr. Ik krijg daar een foutmelding op en weet niet waar die vandaan komt:(
Hierbij het bestand
 
Laatst bewerkt:
Paul,

De code Private Sub lstFeitID_Change() had ik de vorige keer al verwijderd. Het meeste staat ook onder de knop Opslaan en daar hoort het eigenlijk thuis.
Dus lstFeitID_Change kan weg.
Probeer onderstaande versie eens uit op de werking zoals hij is.
Kom dan terug met wensen voor aanpassingen.
 

Bijlagen

Het opslaan van het formulier gaat op deze manier idd goed. Alleen moet er nog een volgnummer worden gegenereerd.
Zodra er een keuze is gemaakt in het auditnummer moet er automatisch een auditnummer worden gegeven. Deze nummering moet beginnen bij 1 en dan oplopen.
De knoppen voor opdracht "Printen" en "verstrekken waren goed zoals ik ze zelf had aangemaakt. Je moet voor het printen de opdrachtcode kunnen selecteren.

Verder wil ik bij het invoeren van tekst 'enters' gebruiken. Bij het opslaan in een cel worden er van de 'enters' blokjes gemaakt. Hoe kan ik deze weg krijgen?

Paul
 
Paul,
De blokjes verwijder je door: Celeigenschappen>Uitlijning en bij Terugloop het vinkje weg te halen,

Vraag: Is de Printcode alleen bedoeld om blad Opdracht
te selecteren? ( De Printcode is erg groot!)

Eerst maar verder met versie 3.

Tot straks.
 

Bijlagen

De printopdracht is bedoeld om de informatie die bij een bepaalde auditcode hoort weer te geven op het Opdrachtformulier.
Het moet ook mogelijk zijn om op een later tijdstip nog een reeds ingevoerde opdracht te printen. Zoals hij nu gaat is het wat mij betreft goed.

Ik heb het formulier "Feit invoeren" weer getest, en alles gaat goed, alleen mis ik nog steeds de automatische nummering voor het feitnummer! Heb je daar nog een oplossing voor?
Er kunnen per code meerdere feiten worden ingevoerd. Op het moment dat de code word gekozen, moet er worden geteld hoe vaak er op die code al een feit is ingevoerd en dan moet het feitnummer met 1 worden verhoogd.

Paul
 
Paul,

Ik dacht dat het om het Auditnr. ging.

Nu ook Feitnr. werkend.
 

Bijlagen

Het feitnummer geeft bij mij telkens de waarde "2". Dat werkt dus niet optimaal. Ik maak toch maar weer gebruik van de loop die ik in eerst instantie had ingebouwd.
Met alle aanpassingen die we in de tussentijd hebben gedaan werkt het nu goed. Ik ga weer verder bouwen, ben nog lang niet klaar.

Bedankt voor de tijd en moeite. Ik zal vast nog wel een keer tegen een probleem aanlopen, dan kom ik weer eens terug. (Ik blijf natuurlijk kijken of ik anderen kan helpen!!)

Groeten,

Paul
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan