• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

autonummering ID issue koppeling access

Status
Niet open voor verdere reacties.

Peer44

Gebruiker
Lid geworden
25 jan 2008
Berichten
224
Hallo,

Om een planning te maken werken we met excel met daarin een export naar access voor verdere doeleinden.
De planning wordt gemaakt in excel dit wil ik in principe voorlopig zo houden. Waar ik nu tegenaan loop is het id veld wat gegenereerd wordt op basis van:

Productiedatum & Klant & Artikel & Ordernr & THT & Aantal & Receptcode

De combinatie van deze velden geeft een uniek ID veld wat ik gebruik in Access om de order te volgen.

Per dag wordt er een nieuw excel bestand gemaakt.

Als er iets veranderd in een order dan kan ik de order niet meer volgen op basis van bovenstaande combinatie.

Ik zoek een oplossing om een autonummering ID toe te kunnen gaan passen voor de productieregels.
Iemand een suggestie hoe ik dit in kan bouwen zonder al te veel om te hoeven bouwen?

Ben zelf aan het denken om een productieorderinvoer tabel te maken met autonummering, dit ID nummer meegeven aan de productieregel…..
Hopelijk kunnen jullie me verder helpen.
 
Je zou een userform kunnen maken. Dat is vergelijkbaar met een invoerformulier in Access. Die laatste is overigens eenvoudiger te maken.
 
De simpelste autonummering:

maak eenmalig een bestand aan waarvan de naam begint met een aantal nullen(naar wens instelbaar), bijv

Code:
Sub M_snb_000()
   open "G:\000000_" for output as #1
   close
End Sub

Als je ergens een nieuw volgnummer wil, gebruik je deze twee regels code:
Lees het nummer in de naam van het bestand
Wijzig de naam van het bestand door bij het nummer 1 toe te voegen
Code:
Sub M_snb()
   y=val(dir("G:\*_"))
   name "G:\" & dir("G:\*_") As "G:\" & format(y+1,"000000_")
End Sub

Je maakt het jezelf natuurlijk helemaal gemakkelijk als je hiervoor een aparte directory gebruikt. Het autonummerbestand is dan het enige dat zich in die directory bevindt.
Qua snelheid is het ongeëvenaard.
Het bestand kan door alle gebruikers benut worden, omdat het niet geopend hoeft te worden.
 
Laatst bewerkt:
Kijk! dat lijkt te kunnen gaan werken;
als ik een nieuwe productieregel maak dient de naam van het aangemaakte bestand opgehaald te worden dit is dus mijn uniek ID, het unieknr bestand met 1 op te hogen en zo verder.
Hiermee kan ik dus van uit verschillende excel bestanden aan gaan refereren. Super

Nu moet dus in de planning van een betreffende dag bij invoer van de productieregel het id nummer worden opgehaald, welke VBA code heb ik dan nodig om dit nummer op te halen?

Om het event te starten maak ik gebruik van :
Code:
"Dim KeyCells As Range

    ' The variable KeyCells contains the cells that will
    ' cause an alert when they are changed.
    Set KeyCells = Range("D5:D68")
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

        ' Display a message when one of the designated cells has been
        ' changed.
        ' Place your code here.
        MsgBox "Cell " & Target.Address & " has changed."
       
    End If
 
Laatst bewerkt:
Nou na wat puzzelen ben ik eraan uit :

Code:
 Target.Offset(, 23).Value = Val(Dir("U:\test\*_"))

bedankt voor advies!:thumb::d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan