Volgnummer-verzendadviesnummer

Status
Niet open voor verdere reacties.
Ik zie geen enkele reden om de naam van de functie te veranderen, en al helemaal niet in de naam van één van de bedrijven. Tenzij je voor elk bedrijf een eigen functie hebt gemaakt, wat ik een heel slecht idee zou vinden. Want dat is nergens voor nodig. Gewoon één functie gebruiken dus. Hoe kom je dan aan de voorloopcijfers? Simpel: je geeft de VZA mee als parameter in de functie en haalt op basis daarvan het hoogste nummer op.
Een volgnummer met een streepje is een stuk makkelijker trouwens dan een nummer zonder :).
 
Helaas gaat dit me boven de pet groeien. Heb je de bestaande en aangepaste DB met een beetje tekst en uitleg toegestuurd. En ja ik heb voor elke vza een aparte functie gemaakt. En ja ik weet dat het omslachtig is maar voor een prof is het makkelijk praten. Dan voor een beginnende leerling van 58 jaar oud. En desondanks probeert het te begrijpen.

Vandaar dat me dank dan ook groot is voor alle hulp die geboden wordt.
 
De 'prof' is ook maar een fotograaf die een jaartje ouder is :). Maar ik heb de door jou gewenste code wel liggen natuurlijk dus die zal ik z.s.m. opzoeken en posten.
 
Als het goed is heb ik je de link toegestuurd om het bestand te kunnen downloaden. Gelukkig heb ik tot 1 januari 2016 de tijd om het uit te vogelen. Maar was er zelf al achter dat de opzet niet echt van duf en het is.
 
Laatst bewerkt:
Ik heb je db bekeken, en daar kan wel het e.e.a. aan verbeterd worden. ZO heb je een aantal identieke tabellen, voor elke klant één vermoed ik, met een naam als [TBL_VZA-###]. Daar heb je er nogal wat van. Dat kan natuurlijk niet; al die tabellen moet je vervangen door één tabel met de naam [TBL_VZA]. Daar voeg je dan een veld KlantID aan toe waar je de klant invult. In die tabel kun je dan ook eenvoudig nieuwe volgnummers toevoegen op basis van het KlantID.
Stel dat je KlantID's de tekst bevatten die je in het volgnummer wilt opnemen, zoals KMB, SKA, QLI etc. dan krijg je met de volgende functie voor elke klant een eigen, uniek volgnummer:

Code:
Function NieuwVolgNummer(KlantNr As Integer) As String
Dim strSQL As String, sNum As String
Dim tmp As Variant

strSQL = "SELECT Top 1 [Verzendadviesnummer] FROM [TBL_VZA] "
strSQL = strSQL & "WHERE [KlantID] =" & Me.KlantID & " Order By [Verzendadviesnummer] Desc"

With CurrentDb.OpenRecordset(strSQL)
    If .RecordCount > 0 Then
        tmp = Split(.Fields(0), "-")
        If Year(Date) = tmp(LBound(tmp) + 1) Then
            sNum = Right("0000" & CInt(tmp(UBound(tmp))) + 1, 4)
            NieuwVolgNummer = tmp(LBound(tmp)) & "-" & tmp(LBound(tmp) + 1) & "-" & sNum
        Else
            NieuwVolgNummer = tmp(LBound(tmp)) & "-" & tmp(LBound(tmp) + 1) & "-0001"
        End If
    Else
        NieuwVolgNummer = tmp(LBound(tmp)) & "-" & Year(Date) & "-0001"
    End If
End With
    
End Function
Maar je moet vooral je db opnieuw organiseren, want op deze manier loop je om de haverklap tegen een muur op.
 
En dan heb je voor het invullen dan ook maar een formulier nodig. Verder kan je dan als men lijsten wil hebben via een rapport deze opvragen op basis van klantId. Desnoods met een tijdsperiode

Bedankt voor de codering. Zal een db maken en het voorleggen.

Daarom denk ik ook dat ik er niet uitkom. En het is altijd lastig om in iemand anders zij DB te werken als men niet weet hoe de opbouw is. Zo is de klant al ingevut in het veld leverancier maar daar moeten ook velden toegevoegd worden. Ik ga er mee aan de slag. Mocht er nog iets zijn dan hoort u van me.
 
Laatst bewerkt:
Je tabel [Leveranciers] vind ik nogal mager ingericht; zo is er geen sleutelveld, en mis ik een hele hoop gegevens. Dus daar is best een hoop te winnen. Maar je snapt het idee geloof ik wel: zoveel mogelijk enkele tabellen (en dus ook formulieren) voor je onderwerpen, en daar m.b.v. keuzelijsten dan op filteren. Idem voor rapporten; die toon/verstuur je vaak op basis van een geselecteerde klant. Dat blijkt dan, als ik je laatste berichtje goed lees, de leverancier te zijn?
 
Vergeet niet dat niet ik deze DB gemaakt hebt. Het is een reeds bestaande DB waar ze al jaren mee werken.

Zo zijn er meerdere tabellen waar geen sleutel in zit. Zelf denk ik om een nieuwe DB te ontwikkelen. Maar daarvoor moet ik eerst met diverse gebruikers om de tafel en daar gaat enige tijd overheen. Voor nu heb ik het grootste struikelblok kunnen aanpassen.

Mocht het nodig zijn dat ik weer hulp nodig heb weet ik nu waar ik moet zijn :D
 
Prima :). Ik weet wat het is om met een db van anderen te moeten werken. Da's vaak geen pretje :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan