Toon posts:

[ACCESS] ophalen autonumber bij aanmaken record via VBA

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

Verwijderd

Topicstarter
Ik maak in VBA een nieuw record aan in een tabel.

In deze tabel worden de gebruikerssessies opgeslagen. Bij het opstarten van de applicatie wordt er een record aangemaakt met SessieID (autonumber), opstartmoment (datum & tijd), machinenaam, username, etc....

Bij het afsluiten van de applicatie moet aan dit specifieke record het afsluitmoment toegevoegd worden. Om diot bij het juiste record te doen moet de SessieID van het record wat wordt aangemaakt bij het opstarten opgeslagen worden in een tabel bij andere instellingen.

De huidige manier:
- actuele moment, machinenaam en username opslaan in variabele
- record aanmaken
- recordset aanmaken om de sessieID op te halen van de record met het
betreffende parameters uit de variabelen
- SessieID opslaan in de tabel met instellingen
- bij het afsluiten de record met de SessieID opgeslagen in de instellingen updaten.

Problemen :(
- omslachtige manier
- problemen met de querycriteria (opstartmoment)

Vraag
- is het mogelijk om bij het aanmaken van de record het Autonumber op te vragen, dit zou veel handelingen en code besparen :)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Je zou eens kunnen kijken naar @@Identity.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 04 September 2003 @ 14:21:
Je zou eens kunnen kijken naar @@Identity.
Ahhhh..... daar zijn nogal wat posts van jou te vinden....

Ik ga het eens proberen, maar het kan evt in mijn geval niet werken...
Veel inserts in verschillende sessies gelijktijdig, en via dezelfde connectie.

Kan zo niet 100% garanderen dat ik de SessieID van de betreffende insert terugkrijg....

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Verwijderd schreef op 04 September 2003 @ 15:01:


Veel inserts in verschillende sessies gelijktijdig, en via dezelfde connectie.
Dan moet je geen access gebruiken imho.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
In SQL Server (en MSDE) heb je , naast @@identity, ook scope_identity() en nog een andere functie waarvan de naam me nu ontschiet.

https://fgheysels.github.io/


Verwijderd

Kan je niet een andere unieke sleutel gebruiken ?
Bv machinenaam met sessie activatie timestamp oid ?

Verwijderd

Topicstarter
whoami schreef op 04 september 2003 @ 15:21:
[...]

Dan moet je geen access gebruiken imho.
Ja, dat weet ik :) maar de werkgever heeft geen alternatief beschikbaar.

De functies worden geclaimed bij openen, zo kunnen verschillende users geen gebruik maken van functies die maar door één user gebruikt mogen worden. Meer van deze soort trucjes maken het wel mogelijk om Access te gebruiken met meerdere users.

De applicatie is hoofdzakelijk bedoeld om meerdere users info te laten bekijken, en slechts een paar users wijzigen en voegen toe. :)

Verwijderd

Topicstarter
whoami schreef op 04 september 2003 @ 15:26:
In SQL Server (en MSDE) heb je , naast @@identity, ook scope_identity() en nog een andere functie waarvan de naam me nu ontschiet.
Als de applicatie verder gevorderd is kan wel gebruik gemaakt worden van SQL-server, maar tot dat moment moet het zonder!

Niet echt de meest ideale situatie, maar het is niet anders. Wanneer de applicatie draait onder SQL-server moeten er een aantal wijzigingen aangebracht worden, maar deze worden vanaf het begin al bijgehouden, en er wordt rekening mee gehouden.

Verwijderd

Topicstarter
Verwijderd schreef op 04 September 2003 @ 15:53:
Kan je niet een andere unieke sleutel gebruiken ?
Bv machinenaam met sessie activatie timestamp oid ?
Dat was mijn eerste oplossing, maar zoals beschreven in mijn openingspost is hiervoor een extra bewerking nodig, en deze gaf nogal wat problemen.

Als ik via dezelfde connectie gelijk na de insert @@identity gebruik kan dan gegarandeerd worden dat ik de juiste ID terugkrijg??
Pagina: 1