Nieuw getal uit tabel halen

Status
Niet open voor verdere reacties.

TonvS

Gebruiker
Lid geworden
10 jul 2012
Berichten
14
Voor een database op mijn werk wil ik het volgende doen;

Er is een tabel met daarin o.a. 4 velden (nummeriek) die een (uniek) logsheetnummer bevatten. Wanneer een of meerdere van deze velden veranderd dienen te worden, was het mijn idee om uit een andere tabel, welke nummers genereerd, een nummer te "halen" en deze in het logsheetnummer veld te plaatsen.

Ik ben weer aan het stoeien met Dmax, maar voorlopig lukt het me niet.
Het simpelste zou zijn om het betreffende veld middels Dmax op te laten hogen, maar dan komt het probleem dat er dubbele nummers gaan voorkomen in de verschillende velden.

Wie kan me richting de oplossing loodsen?

Ton
 
Bij mijn weten genereert een tabel geen nummers maar wel een autonummering veld in een tabel doet dat wel
of als je dat niet wilt laat bv via een formulier telkens je een record toevoegt het veld dat je wilt nummeren met 1 waarde verhogen door als standaardwaarde van je tekstvak het volgende te zetten
Code:
Nz(DMax("Naamvanjeveld";"Naamvanjetabel");0)+1
Als je dan nog in je tabelontwerp van dat veld bij geîndexeerd kiest voor "ja (geen duplicaten)" dan zul je ook geen dubbele waarden krijgen
 
Maar leg eerst eens uit wat je aan het doen bent, want ik snap er geen jota van. Wellicht dat een voorbeeldje wat licht in de duisternis kan brengen...
 
Bekijk bijlage Helpmij.zip

Hierbij een kale versie.

In de echte database zitten zo'n 2600 records. Veel hebben meerdere logsheetnummers. Deze zijn in het verleden met de hand ingevoerd. Hierdoor bestaat er ook dubbele logsheetnummers. Voor nu is daar mee te leven. Wat ik wil is wanneer er een nieuw logsheetnummer gegenereerd moet worden dat Access dit doet. Doordat er met de hand is ingevoerd kan het logsheetnummer niet simpelweg opgehoogd worden. Dit omdat er "hoge" en "lage" nummers door elkaar heen lopen.
 
Laatst bewerkt:
Ik snap het nog steeds niet; in je tabel heb je vier velden [Logsheetnummer #]. In [Logsheetnummer 1] heb je bijv. de waarde 8937 staan, en in het veld [Nieuw logsheetnummer 1] de waarde 8944. Ik zou daar dan toch de waarde 8938 verwachten. Als je tenminste de velden 1 t/m 4 afzonderlijk door wilt nummeren.
 
Laatst bewerkt:
Precies, daar zit 'm de kneep. Doordat er in het verleden handmatig getallen zijn toegekend wordt het een puinhoop als ik ga doornummeren want dan gaan er weer dubble getallen in de verschilende kolommen voorkomen.
Ik dacht dus aan iets wat steeds een nieuw getal aanmaakt en dit dan in het gewenste veld plaatst.
 
Ja maar het wordt behoorlijk lastig als je éém getal wilt dat je in 4 velden gaat gebruiken. Da's bijna niet te onderhouden. Ik zou je aanraden om die nummers los te koppelen in een subtabel in één veld, waar het nieuwe nummer makkelijk met DMax is uit te rekenen.
 
Hallo Octafish,

Bedankt voor het meedenken. Dit was eigenlijk wat ik bedoelde in mijn vraag met "Er is een tabel met daarin o.a. 4 velden (nummeriek) die een (uniek) logsheetnummer bevatten. Wanneer een of meerdere van deze velden veranderd dienen te worden, was het mijn idee om uit een andere tabel, welke nummers genereerd, een nummer te "halen" en deze in het logsheetnummer veld te plaatsen" bedoelde.

Maar nu de hamvraag, hoe moet dat? Heb je een voorbeeldje voor me? Ik weet hoe je in een formulier met Dmax een getal ophoogt, maar niet in een tabel.
 
De oplossing die ik voorstel is niet hetzelfde als wat je zelf voor ogen hebt. Zodra een veld meer dan één keer voorkomt in een tabel, zoals in jouw geval met 4 velden [Logsheetnummer #], klopt je database niet. Die 4 velden zou je moeten vervangen door één veld dat verwijst naar één tabel met daarin 4 records (voor elk nummer dus één). Op die manier kun je niet alleen onbeperkt nummers toevoegen, mocht dat nodig zijn, het is ook beter te onderhouden. Dus als het mogelijk is, zou ik in die richting zoeken.
 
Oke, maar niet altijd moeten alle vier de logsheetnummers vervangen worden, maar slechts een of twee.
Hoe moet het dan?
 
Het gaat niet om het vervangen van gegevens an sich. In een ideale oplossing heb je een hoofdformulier en is de extra tabel gekoppeld en gebruik je daarvoor een subformulier. En daarin kun je dan je data invoegen/verwijderen/muteren naar gelang de wens.
 
Oke, heb je van zoiets een voorbeeld waar je me naar kunt verwijzen? Ik kan dan proberen het in te bouwen in onze database.
 
Hoi Octafish, als je geen voorbeeld hebt ook goed hoor. Dan freubel ik wel verder. Laat aub even wat weten?
 
Het kost jouw veel minder tijd om je hoofdformulier in Ontwerpweergave te openen, en de gekoppelde tabel daar naar toe te slepen (dan heb je namelijk al een hoofdformulier met subformulier) dan mij om een leuk voorbeeldje te maken :)
 
Het kost jouw veel minder tijd om je hoofdformulier in Ontwerpweergave te openen, en de gekoppelde tabel daar naar toe te slepen (dan heb je namelijk al een hoofdformulier met subformulier) dan mij om een leuk voorbeeldje te maken :)
 
Tja, zo had ik het inderdaad niet bekeken.:eek: Ik ga mijn best doen en gooi hier een slotje op.

Bedankt en tot de volgende vraag maar weer.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan