Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[Acces 2002] Knipperen voorkomen

None
13 antwoorden
  • Om te verkomen dat je naar een nieuwe, lege periode kan, gebruik ik dit [i:b87d395fe7]kinderlijke[/i:b87d395fe7] scriptje:

    [code:1:b87d395fe7] DoCmd.GoToRecord , , acNext

    If [TV: Periode] = 0 Then
    VorigeRecord
    End If[/code:1:b87d395fe7]

    Nu ga je naar de laatste record, een nieuwe periode en ga je gelijk weer naar de laatste periode. Hoe maak ik dat je werkelijk voorkomt dat je naar een nieuw record gaat, ipv van herstelt en weer terug gaat?

    Alvast Bedankt!
  • Ik wil dus eigenlijk de laatste waarde van 'TV: Periode' weten, hoe kom ik daar achter?
  • Waar gaat dit nou eigenlijk over?
  • Is toch niet zo moeilijk?

    Stel, je hebt een rijtje van 3 records:

    Periode————-Begindatum——-Einddatum
    1_______________1-1-2004_______29-1-2004
    2_______________30-1-2004_______27-2-2004
    3_______________28-2-2004_______25-3-2004

    Nu wil ik de waarde van periode van de/het laatste record weten, in dit geval '3'. Hoe kom ik hier achter?
  • Wel eens van SQL gehoord? Of sorteren?

    Je hebt een tabel en nu wil je weten wat de waarde is van het laatste record zeg je.

    Je records staan in een tabel. Nou, dan kijk je in die tabel.

    Om een goed antwoord op je vraag te geven is maar net wat je precies wilt met die informatie. Wil je het laatste nummer weten om hem op te kunnen hogen? Waarom wil je die waarde weten?
  • Omdat ik een script gebruik om een nieuwe periode aan te maken. Hierbij worden automatisch gegevens ingevult. Omdat bv. datums op elkaar aan moeten sluiten; ik heb een script die kijkt in welke periode een bepaalde datum valt. Als ik dan zelf invul:

    Periode——–Begindatum——Einddatum
    ___1_________1-1-2004______20-1-2004
    ___2_________24-1-2004_____18-2-2004

    En ik vul 22 januari, dan gaat er iets niet goed.

    Als je op volgende record druk als je op de laatste record zit, krijg je een nieuw, [u:5e461c6f6f][i:5e461c6f6f][b:5e461c6f6f]leeg[/b:5e461c6f6f][/i:5e461c6f6f][/u:5e461c6f6f] record. Dit wil ik dus voorkomen. Bij het laatste record moet je niet naar een volgend, nieuw record kunnen gaan.
  • Doe je i.p.v. een record terug een tekstbox die meldt dat er geen nieuw record aangemaakt mag worden.

    Dat lege record dat jij ziet is namelijk nog niet aangemaakt. Dat wordt pas aangemaakt als er ook iets ingevoerd wordt.
  • Nu wil je het op een andere manier oplossen; Op watvoor manier ik het wilde op lossen wist ik al, hoe ik dat moet doen is de vraag.

    Tja, eigenwijs.. :roll:
  • [quote:bf5c7089ad="Wiep Corbier"]Doe je i.p.v. een record terug een tekstbox die meldt dat er geen nieuw record aangemaakt mag worden.

    Dat lege record dat jij ziet is namelijk nog niet aangemaakt. Dat wordt pas aangemaakt als er ook iets ingevoerd wordt.[/quote:bf5c7089ad]Had ik eerst ook, was niet 'gebruiksvriendelijk'. Hetwas zelf heel irritant als je steeds op ok moest drukken.
  • Boekje VBA pakken en leren :)

    Gewoon aan de gebruikers vragen hoe ze het hebben willen en dan zo maken.
  • [quote:8936225904="Wiep Corbier"]Boekje VBA pakken en leren :)[/quote:8936225904]Wrom ben ik dan in vredesnaam lid van dit forum?? :-?

    [quote:8936225904="Wiep Corbier"]Gewoon aan de gebruikers vragen hoe ze het hebben willen en dan zo maken.[/quote:8936225904] Is dus al bekend, geen meldingen waar ze alleen maar onzeker van worden. Dus: Als je in de laatste bestaande periode zit en je drukt op volgende, gebeurt er helemaal niets.

    Iemand anders een aanwijzing?
  • Ik denk dat je meer reacties krijgt als je een wat ruimere omschrijving geeft van de feitelijke situatie. Dan kunnen mensen een beter inzicht krijgen van het probleem.

    Nu staat er feitelijk, gebruikers mogen niet een nieuw record aanmaken, maar ze mogen er ook niet voor gewaarschuwd worden als die situatie dreigt zich voor te doen.
    Tenminste, dat is wat ik er uit opmaak.

    Vertel even iets meer, dan zullen er vast mensen zijn die zeggen: ah, op die manier, nou, dat heb ik zo en zo opgelost…..
  • Kep de exacte beschrijving ook in een ander dinkie gepost. Kreeg de reactie dat ik [i:6c70535668]DLast[/i:6c70535668] moest gebruiken. Dit heb ik er dus van gemaakt:

    [code:1:6c70535668]Sub VorigeRecord()
    On Error GoTo Err_VorigeRecord

    DoCmd.GoToRecord , , acPrevious

    If DFirst("[Perioden]![ID]", "[Perioden]") = [ID] Then
    Knop__Volgende_record.SetFocus
    Knop__Vorige_record.Enabled = False
    End If

    If Not DLast("[Perioden]![ID]", "[Perioden]") = [ID] Then
    Knop__Volgende_record.Enabled = True
    End If

    Exit_VorigeRecord:
    Exit Sub

    Err_VorigeRecord:
    Resume Exit_VorigeRecord

    End Sub
    Sub VolgendeRecord()
    On Error GoTo Err_VolgendeRecord

    DoCmd.GoToRecord , , acNext

    If DLast("[Perioden]![ID]", "[Perioden]") = [ID] Then
    Knop__Vorige_record.SetFocus
    Knop__Volgende_record.Enabled = False
    End If

    If Not DFirst("[Perioden]![ID]", "[Perioden]") = [ID] Then
    Knop__Vorige_record.Enabled = True
    End If

    Exit_VolgendeRecord:
    Exit Sub

    Err_VolgendeRecord:
    Resume Exit_VolgendeRecord

    End Sub[/code:1:6c70535668]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.