Ga naar inhoud
  • 0

Opslaan


G.B.BREUKEL

Vraag

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 naar reactie

6 antwoorden op deze vraag

Aanbevolen berichten

  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...