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 veld blokkeren

Anoniem
huubos
10 antwoorden
  • Hoe kan ik op een eenvoudige manier een (index)veld blokkeren na invoer. Dus, eenmaal ingevoerd, mag het veld niet meer te wijzigen zijn.
    Nu zie ik geregeld dat gebruikers een nieuw record willen toevoegen, maar dan gewoon een bestaand record overschrijven, en dat is niet de bedoeling.
  • Records wijzigen en nieuwe toevoegen zijn twee verschillende dingen.
    Snap dus niet waar je vraag vandaan komt.
  • Nou, simpel.
    Stel ik heb een form Debiteuren waarbij het veld debiteurnummer een indexveld is met 'dubbele waarden' op 'nee'.
    Een gebruiker staat nu ergens in een of ander record en denkt laat ik eens even een debiteur toevoegen. Hij verzuimt echter om eerst naar een nieuw record te gaan, maar begint gewoon de huidig zichtbare record te overschrijven. Daarmee verdwijnt dus de huidig zichtbare record. En dat was nou net niet de bedoeling.
  • …maar begint gewoon de huidige record te overschrijven??? Dan ligt het niet alleen aan het formulier. Die gebruiker mag ook wel es een schop onder zijn kont krijgen. Klinkt als een vakkenvuller die "op zeker" nog drie dozen chips in het schap kwijt kan… :smile:

    In het formulierontwerp kun je van alle besturingselementen de eigenschappen instellen via het eigenschappenvenster. Van een tekstvak heb je bijv. de eigenschappen Enabled (ingeschakeld) en Locked (vergrendeld). Als je die op Nee-Ja zet kan de gebruiker niet meer in de achterliggende kolom rommelen.
    Uit je verhaal begrijp ik verder dat je erop vertrouwt dat de gebruiker de knopjes onderin het formulier begrijpen (navigatieknopjes om te bladeren enzo), maar dat is helaas niet zo. Vandaag nog: "Paul, hoe kom ik in dat rapport nou op de volgende pagina?". Om een nieuw record toe te laten voegen kun je een opdrachtknop op het formulier zetten (bijv. in de kopsectie). Dat gaat zelfs met een eenvoudige wizard…
  • Laten we wel zijn, de meeste gewone gebruikers hebben totaal geen kaas gegeten van hoe je een programma gebruiken moet. Als programmeur moet je daar dus rekening mee houden. Make it idiotproof !!
    In veel programma's zie je dat indexvelden achteraf niet meer te wijzigen zijn. Lijkt me ook logisch, je rommelt dan met de basis. Ik ben beslist geen newby op programmeergebied, maar wel lui. De jullie aangeboden oplossingen ken ik natuurlijk, maar ik ben meer op zoek naar code die dit oplost zonder dat ik zelf moet gaan lopen klooien met if notnull then var.disable, of zoiets.

    [ Dit Bericht is bewerkt door: huubos op 2002-03-12 22:20 ]
  • Wel, Access kent ook zogenaamde gebruikers. Deze zijn van verschillend niveau en hebben verschillende rechten.
    Daarnaast kun je zelf een dergelijk systeem inbouwen.
    Zorg ervoor dat gebruikers zich aanmelden waarna hun rechten vastgelegd zijn. Daardoor wordt het onmogelijk records te wijzigen bijvoorbeeld.

    Als jij een applicatie bouwt zul je met bepaalde omstandigheden rekening moeten houden.
    Het is niet een kwestie van lui zijn, maar een kwestie van inzicht.
  • ….met bepaalde omstandigheden rekening moeten houden.
    Daar gaat mijn vraag nu net over !!!

    Gebruikersrechten toekennen is niet de oplossing. Daarin kan ik o.a. bepalen of iemand wel of niet iets mag wijzigen. Gebruikers mogen/moeten wel wijzigen, maar niet de indexvelden (de bronvelden dus). Daar gaat het me om !!!
  • Ik dacht dat Paulus duidelijk genoeg was.
  • We komen er niet uit.
    Ik ga het maar ergens anders proberen.
  • Misschien is dit wat je zoekt. Een routine die de tekst in een record blokkeert nadat tekst is ingevoerd (tekst is de naam van een kolom in de tabel):
    Private Sub tekst_Enter()
    tekst.Locked = False
    If tekst.SelText <> "" Then
    tekst.Locked = True
    Else: Exit Sub
    End If
    End sub


    [ Dit Bericht is bewerkt door: Ultrasaurus op 2002-03-16 20:47 ]

Beantwoord deze vraag

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