[acces] gegevens tussenvoegen en bijwerken autonummering

Pagina: 1
Acties:
  • 476 views sinds 30-01-2008
  • Reageer

  • MrE
  • Registratie: Mei 2000
  • Laatst online: 06-09-2025

MrE

Sugardaddy take me home..

Topicstarter
In een accesdatabase (acces 2000) moet ik een de autonummering weer correct krijgen. de key loopt nu van 52 naar 55, en 53 en 54 zijn weg, maar moeten er wel weer tussengevoegd worden.
Nu lukt het mij niet om met 'compress en repair database' de boel weer in goede volgorde te krijgen, en lukt het mij al helemaal niet om op de lege plekken weer gegevens te krijgen.

Dus de records (onderin beeld), lopen wel correct opvolgend op, maar bij record 53 hoort nu een record met de key 55. Omdat deze gegevens met de hand genummerd worden in een map met documenten, vind ik het een beetje lastig om a) alle gegevens weer opnieuw in een leeg BD te gaan kloppen, of b) alle dokumenten, die de bron vormen van de DB, met de hand om te gaan nummeren.

the -<::::::::::D is mightier than the <:::::::::[=@


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 26-08 12:17
Het verstandigste lijkt mij, om in de tabel een extra veld te maken met als titel 'volgnummer' die je dan even handmatig, of via een querietje invult.

Houdoe


  • MrE
  • Registratie: Mei 2000
  • Laatst online: 06-09-2025

MrE

Sugardaddy take me home..

Topicstarter
Gezien de tijd, ga ik een gedeelte opnieuw typen.
Ik heb nu vanaf de laatste goede record alles gewist, maar als ik nu nieuwe records ga toevoegen, blijft acces doornummeren vanaf het punt waar ik voor de foute nummering was gebleven.

De oplossing zoals in dit topic gegeven, werkt niet (acces weigert de DB te comprimeren (d.w.z. voert de handeling wel uit, maar er gebeurt verder niets)).
[rml][ acces] verwijderen record en autonummering[/rml]

[ Voor 18% gewijzigd door MrE op 21-07-2003 14:47 . Reden: boterham met kaas en filet amercan en een taco kip ]

the -<::::::::::D is mightier than the <:::::::::[=@


  • momania
  • Registratie: Mei 2000
  • Laatst online: 17:26

momania

iPhone 30! Bam!

Maar autonummering resetten tot daar aan toe, maar als reden omdat je de nummers nodig hebt tbv de presentatie van de data :?

Daar is een autonummering echt niet voor bedoeld en kan je beter zoals aangegeven een extra kolom maken in je tabel met een volgnummer.
Dat volgnummer hoef je dan alleen maar uniek te maken, maar kan je achteraf altijd nog makkelijk aanpassen.

Neem je whisky mee, is het te weinig... *zucht*


  • MrE
  • Registratie: Mei 2000
  • Laatst online: 06-09-2025

MrE

Sugardaddy take me home..

Topicstarter
Net als bij de link die ik geef, wordt bij ons de database gebruikt om ingekomen dokumenten te registreren.
Vervolgens worden de volgnummers op de orginele dokumenten gezet, en worden de gegevens in de DB via Word uitgeprint aan de hand van de nummers op de dokumenten.

wordt een beetje lastig als blijkt dat iemand de recordnummers (die in beginsel gelijk zijn aan de key) noteerde, door omstandigheden een record heeft verwijderd en er nu (30 dokumenten verder) achterkomt dat de keys niet meer kloppen met de dokumentnummers.

En nee!! hernummeren is een groter karwei dan het lijkt.

Ik wil dus alleen maar weten waarom comprimeren en herstellen niet werkt, zoals het hoort te werken (het ressetten van de key naar de laatste daawerkelijk ingevoerde record).

In het kort dus : key is nodig voor het opdiepen van gegevens uit acces database, om ze via een querry in word te kunnen koppelen aan andere bestanden.

the -<::::::::::D is mightier than the <:::::::::[=@


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 19:23

Dido

heforshe

Maar als er door omstandigheden een key is verdwenene, dan is dat document er toch ook niet (meer)? Ik begrijp niet hoe het kan dat je met een gegenereerde key die je op een hardcopy zet de link ooit kwijtraakt, al staan er random keys op. Juist bij hernnummeren lijkt me dat je in de problemen komt?

Wat betekent mijn avatar?


  • MrE
  • Registratie: Mei 2000
  • Laatst online: 06-09-2025

MrE

Sugardaddy take me home..

Topicstarter
verduidelijking
-document komt per post binnen.
-bepaalde gegevens van dat dokument worden in een DB gezet voor koppeling met een Worddokument op een later moment.
-het dokument dat per post binnen kwam krijgt een nummer dat hetzelfde is als de key uit acces en wordt aan derden gezonden die later zullen refereren aan dat nummer.
-na verloop van tijd krijgen wij een verzoek om een worddokument te koppelen aan nummer X (keynummer uit acces).

Doordat de nummering dus fout is overgenomen doordat iemand een record heeft verwijderd, daarna is gaan verder typen maar i.p.v. de keynummers de recordnummers aanhoudt (die normaliter gelijk lopen) en op de dokumenten heeft gezet, koppelen wij nu bestanden met foute dokumentgegevens.

Ik wil dus de accesDB weer rechttrekken (om vergissingen in de toekomst te voorkomen).

Uit mijn calculatie is gebleken dat, zo als het er nu voorstaat, als ik acces op een of andere manier kan dwingen te accepteren dat key nummer 53 niet bestaat, en hij de overige records weer vanaf dat punt gaat autonummeren, dat de dokumenten die nu de ronde doen weer correct genummerd zijn, en er in de toekomst geen communicatiefouten worden gemaakt.

the -<::::::::::D is mightier than the <:::::::::[=@


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 19:23

Dido

heforshe

MrE schreef op 21 July 2003 @ 16:02:
Doordat de nummering dus fout is overgenomen doordat iemand i.p.v. de keynummers de recordnummers aanhoudt
Dat verduidelijkt een hoop. Vanddar dat ik er zelf voorstander van ben om dat soort keys random en uniek te laten genereren :)
Dan krijg je dit soort misverstanden ook niet, want een dom misverstand is het. autonum is gewoon een lekker makkelijke manier om een uniek nummer te genereren, maar heeft in principe niets met je aantal records te maken.

Maar goed, dan is denk ik de workaround van Witte of een variatie daarop de beste - geautomatiseerde - oplossing...

Wat betekent mijn avatar?


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 26-08 12:17
De fout is gemaakt in de nummering van de brieven, niet in Access, dus herstel de fout waar hij gemaakt is! Dat werkt altijd het best.

Houdoe


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 19:23

Dido

heforshe

Witte schreef op 21 July 2003 @ 16:21:
De fout is gemaakt in de nummering van de brieven, niet in Access, dus herstel de fout waar hij gemaakt is! Dat werkt altijd het best.
Dat kon geautomatiseerd wel eens lastig worden, naar ik begrijp...
(Tenzij je het probleem echt bij de bron aanpakt, en dat betekt dat je je users moet leren met de software om te gaan... maar dat is pas echt een crime :+ )

Wat betekent mijn avatar?


  • MrE
  • Registratie: Mei 2000
  • Laatst online: 06-09-2025

MrE

Sugardaddy take me home..

Topicstarter
Witte schreef op 21 July 2003 @ 16:21:
De fout is gemaakt in de nummering van de brieven, niet in Access, dus herstel de fout waar hij gemaakt is! Dat werkt altijd het best.
Goed idee, ik ga even 1500 man langs (verdeeld over 5 panden in Den Haag) om te kijken of zij het desbetreffende dokument hebben, en pas daar het nummer op aan. ;)

Fout is inmiddels bruteforce hersteld, kostte iets minder tijd (maar toch zo'n halve dag)

Blijft alleen mijn vraag waarom acces via compact en herstel database niet datgene doet wat het (ook volgens de help functie) moest doen.

the -<::::::::::D is mightier than the <:::::::::[=@


  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 04-02 09:14

Brothar

meester

heel simpel denk ik.
Access houdt voor autonummering een veld bij (= laatst gebruikte autonummer) vermoed ik. En met compress-en ga je niet opnieuw autonummeren, maar gedelete records 'packen' (om in foxpro begrippen te spreken) =daadwerkelijk fysiek uit de tabellen verwijderen.
Bovendien zou dat een hele ingewikkelde her-autonummering worden, als compressen opnieuw autonummeren betekende (denk aan verwijzende sleutels in andere tabellen).
In foxpro zou ik het zou hebben opgelost :
replace all volgnummer with id
replace all volgnummer with id-2 for id>52
En daarna inderdaad de bestanden koppelen op volgnummer (en niet op ge-autonummerde id's).
N.B. oververwijzende sleutels gesproken: op het moment dat het leter verwijderde record was aangemaakt, was dat id in wezen een sleutel voor het word-document (doordat het daarop werd/wordt geschreven): dit record had dus nooit gewist mogen worden (referential integrity).

[ Voor 33% gewijzigd door Brothar op 21-07-2003 17:14 ]

eagle

Pagina: 1