Unieke product code samenstellen.

Status
Niet open voor verdere reacties.

Bertjens48

Gebruiker
Lid geworden
22 okt 2018
Berichten
9
Hallo allen,

Ik ben momenteel een voorraad overzicht aan het maken. Onderdeel van dit bestand is een tabblad met alle data van de diverse producten en grondstoffen die besteld worden bij div. leveranciers. Om nieuwe producten te verwerken is een formulier samengesteld waarbij alle variabele ingevuld kunnen worden. Via onderstaande code worden alle gegevens al verwerkt in een nieuwe rij bij de juiste kolom. Het lukt me echter niet om een uniek product code samen te stellen.

De insteek zou als volgt moeten zijn:
Alle producten worden onderverdeeld in een 7 categorieën. Afhankelijk van de categorie zal het product nummer bestaan uit een letter en getallen (3 cijfers), bijvoorbeeld b008 = een bepaalde doos/box). In het formulier wordt een categorie aan het product gekoppeld. Via VBA zou dan het eerst volgende nummer gekoppeld moeten worden, in het geval van een nieuw doos wordt het dus b009 enz. Ik weet echter niet waar ik moet beginnen.

De beschikbare categorieën
Disposables = K
Dozen = B
Folie = F
Inject = I
Labels = S
Overige = O
Schalen = T

Alle product codes worden vermeld in rij B, oftewel 2de kolom van de tabel.

Onderstaande code wordt gebruikt om de gegeven uit het formulier over te nemen in het bestand.
Code:
Private Sub CommandButton2_Click()
Dim i As Long
Dim emptyRow As Long

'laatste cel selecteren
emptyRow = Sheets("Product info").Cells(Rows.Count, "B").End(xlUp).Row + 1

'Informatie overnemen
    'Nieuwe product code samenstellen.
    



    'Overige gegevens invullen
        'product gegevens
        Cells(emptyRow, 6).Value = txtLeverancier.Value
        Cells(emptyRow, 3).Value = txtLeveranciernr.Value
        Cells(emptyRow, 4).Value = txtOmschrijving.Value
        Cells(emptyRow, 5).Value = cmbCategorie.Value
        If optVoorraadJa.Value = True Then
            Cells(emptyRow, 7).Value = "Yes"
            Else
            Cells(emptyRow, 7).Value = "No"
        End If
    
        'Levertijd & Opmerkingen
        Cells(emptyRow, 8).Value = txtLevertijdDag.Value
        Cells(emptyRow, 8).Value = txtLevertijdWeek.Value
        Cells(emptyRow, 10).Value = txtLevertijdOpmerking.Value
    
        'Inhoud Per eenheid
        Cells(emptyRow, 12).Value = cmbTeleenheid.Value
        Cells(emptyRow, 13).Value = txtInhoudTeleenheid.Value
        Cells(emptyRow, 14).Value = txtInhoudPallet.Value
    
        'Afmetingen & Kenmerken
        Cells(emptyRow, 17).Value = txtLengte.Value
        Cells(emptyRow, 18).Value = txtBreete.Value
        Cells(emptyRow, 19).Value = txtDiepte.Value
        Cells(emptyRow, 16).Value = txtKleur.Value
    
        'prijs
        Cells(emptyRow, 20).Value = txtPrijs.Value
        Cells(emptyRow, 21).Value = txtStuks.Value
        If cmbKostensoort.Value = "Fileer" Then
            Cells(emptyRow, 23).Value = 1
        If cmbKostensoort.Value = "Inject" Then
            Cells(emptyRow, 23).Value = 3
        If cmbKostensoort.Value = "Overige" Then
            Cells(emptyRow, 23).Value = 6
        End If
        End If
        End If
                
End Sub

Kunnen jullie mij verder helpen met dit vraagstuk?

Alvast bedankt.
 
Volgens mij zijn de getallen tussen 0 en 2 miljard tamelijk uniek.
Waarom zou je het simpelste systeem niet gebruiken ?
Bekend met EAN-codes ?
 
Hoi snb

Het klopt inderdaad, je hebt daarin ook volstrekt gelijk. Het probleem is echter dat de geschetste situatie bekend is binnen de organisatie, en verwerkt (gekoppelde) bestanden en financieel.
In eerste instantie wil ik dus graag door gaan met de huidige codering, ook omdat deze duidelijk aangeeft waar men de producten kan zoeken.

Als laatste optie heb ik nog het handmatig toevoegen, het liefst zou ik dit allemaal via de VBA willen opvangen.
 
Dat is het aloude bibliotheekvraagstuk: Als je unieke items wil identificeren moet je geen categorie-indeling (met een non-categorie 'Overig' ) gebruiken, maar gewoon de volgorde van binnenkomst.
Gebruik een tabel waarin je de unieke ID (rij) koppelt aan de eigenschappen (kolommen) van het produkt.
Wordt iedereen in de toekomst veel blijer van.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan