Jump to content
  • 0

Opslaan


G.B.BREUKEL

Question

Hai,

 

Ik heb een vraag over een record niet opslaan.

 

Nu ben ik met een programma bezicht en ik gebruik het ID nummer als klantnummer (lekker makelijk) maar hoe kan ik voor elkaar krijgen dat als ik een nieuwe klant aanmaak(perongelijk) dat de teller van de ID niet opteld

 

Als ik de optie aangeef bij bevestigen dan blijft hij het id nummer verhogen met 1 als in het venster sluit met de X in het venster ???

 

Heeft iemand een oplossing?

 

Alvast bedankt

Link to comment

6 answers to this question

Recommended Posts

  • 0

Je probleem situeert zich rond "per ongeluk".

 

Dus moet je iets vinden om het "per ongeluk" aanmaken van nieuwe records tegen te gaan.

 

Een manier om dit te doen is het aanmaken van nieuwe records via een script te laten lopen, zodat je een "vertraging" kunt inbouwen.

 

Daarin kun je een stap verwerken die een custom dialoog laat verschijnen met de vraag: "Ben je zeker dat je een nieuw record wil aanmaken?"

 

Met 2 knoppen: "Ja" en "Neen/Cancel"

 

De Neen/Cancel zal het script stoppen.

Bijgevolg, geen aanmaak van record.

 

De "Ja" optie zal een record bijmaken.

Link to comment
  • 0

Een sluitende oplossing is lastig als je werkt met de ID-nummers.

Een mogelijke oplossing is om nieuwe klanten eerst in een andere tabel te plaatsen en deze dan na goedkeuring te importeren in het klantenbestand. Ook niet waterdicht, wel een extra drempel.

Maar, zoals Felix al zegt: er vallen ook weer klanten tussenuit, een opeenvolgende reeks zal het niet blijven.

Link to comment
  • 0

De ID's zijn bij mij altijd "intern", voor klantnummers, offertenummers, factuurnummer etc. etc. houd ik een aparte tabel bij met voor ieder recordtype een record met daarop een tellertje. Maak ik een nieuw record in een klantentabel, dan haal ik pas als het record "definitief" is een nummer op van die tabel en verhoog de teller met een vooringestelde waarde (meestal 1).

 

Ik vind het zelf overigens niet zo erg belangrijk, maar sommige boekhouders willen overal opvolgende nummers hebben (terwijl dat alleen maar facturen min of meer verplicht is) en sommige andere gebruikers willen dat ook. Verder willen gebruikers graag aan de nummering kunnen herkennen wat voor "object" iets is: offertes starten bijvoorbeeld met 100xxx , orders met 200xxx etc. etc. Door dat nummeren niet in de velddefinities op te nemen, maar in een aparte en parametreerbare tabel en bij behoefte ieder nieuw gewoon op te halen, maak je het jezelf uiteindelijk makkelijker, want de gebruiker mag zelf zijn stramien van nummering bepalen.

Link to comment
  • 0

Het gegarandeerd uniek zijn van een code is vaak de kern van de zaak.

Met het inslaan van 1 nummer moet dat ene ding er uit komen.

 

Menno's methode van unieke nummers uitdelen is bij mij hetzelfde.

 

Het aanmaken van nieuwe records gaat vaak gepaard met het vastleggen van sleutelwaarden.

Dat doe ik via Globale Velden in de betreffende tabel. Het echte aanmaken van het record doe ik pas als de sleutel velden definitief bepaald zijn.

 

Oftewel, via het inslaan van sleutelgegevens (behalve het uitdelen van het unieke nummer) kan mooi in een aparte layout die alleen maar uit globale velden bestaat, eventueel met relaties naar velden om informatie over de keuze te tonen.

Is de kern van de zaak ingevuld, dan drukt de gebruiker op de OK knop op de layout.

Een script zoekt eventueel op of het record met de sleutels al bestaat (mocht je dubbele records willen voorkomen), als dat niet het geval is, dan maakt hij een nieuw record aan op basis van de ingevulde globale velden.

Een eventueel uniek nummer kan daarna ook opgezocht worden in het aparte tabelletje, met 1 worden verhoogd en vervolgens toegepast in het zojuist nieuw aangemaakte record.

 

Door het tellertje in een aparte tabel te plaatsen, zorg je er tevens voor dat het moment dat het record gelezen en geschreven wordt, uiterst kort kan zijn.

Het tabelletje wordt alleen in scripts gebruikt die aanmaken van nieuwe records betreft.

Twee gelijktijdige gebruiker die beiden records aanmaken, dat is dan erg kort, dus geen overbodig gelockte records.

 

Mocht de gebruiker de actie annuleren (omdat het record met de sleutel al bestaat, of omdat hij er achter komt dat de invoer niet goed gaat) dan is er nog weinig aan de hand.

Via de knop Annuleren gaat hij terug naar de vorige layout, terwijl er nog steeds geen nieuw record is aangemaakt.

Zelfs het afbreken van de applicatie heeft nog niet voor lege records gezorgd zolang de gebruiker nog niet op OK heeft gedrukt.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...