• 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.

Ontwerp POS Systeem

Status
Niet open voor verdere reacties.

vandenhoeckg

Gebruiker
Lid geworden
14 jan 2017
Berichten
47
Hallo allemaal.
Ik ben nieuw op het forum en had een vraag over het maken van een pos systeem in Excel.
Ik weet dat hier al heel wat topic's over bestaan, maar ik heb reeds veel gezocht en heb mijn antwoord nog nergens gevonden.

Ik ga mijn probleem zo duidelijk mogelijk proberen uit te leggen.

Doel: Bij het inscannen van een product met barcodescanner, en het nummer is reeds gescand, dat het aantal aanvult van bv 1 naar 2 st. en de totaal prijs zich aanpast.

Wat heb ik tot nu toe:
Ik heb een Macro gemaakt voor mijn kasticket.
Hierin staan reeds enkel formules en maak ook gebruik van VBA code's.

Momenteel werkt het reeds als volgt:

Ik scan product in met scanner, alles vult zichzelf aan, naam product, aantal komt op 1 en eenheidsprijs komt er op.
Onderaan krijg ik dan een totaal van de som, en zo verder en zo voort.

Via VBA code druk ik dan op Ctrl + a en mijn kasticket slaat zichzelf op in een aangemaakte map, nummering van ticket gaat met 1 omhoog, alles wordt weer leeg gewist wat leeg moet en ik kan opnieuw met een leeg ticket verder.

Nu is mijn vraag:
Ik zou graag hebben dat wanneer ik een artikel een 2e keer scan, enkel het aantal en de prijs zich aanpassen. Nu komt er een lijn bij met hetzelfde product in.
Niet dat dit zo erg is maar op de duur wordt het kasticket vrij lang.

Ik heb een voorbeeld in bijlage geplaatst.
Bekijk bijlage Kasticket Help.xlsm

Heeft iemand een oplossing hiervoor?
Ik heb wel wat kennis van Excel maar ben nu ook geen expert.
Dus liefst in mensentaal :eek:
 
Waar is de code die er voor zorgt dat het scanresultaat op de juiste regel komt te staan?
 
Waar is de code die er voor zorgt dat het scanresultaat op de juiste regel komt te staan?

Hoe bedoel je?
Ik zet mijn cursor gewoon in de eerste cel waar de code mag komen. In het voorbeeld dus in A11. Na een scan gaat deze automatisch 1 cel lager. Hier heb ik geen code instaan.
Ik zit in het totaal met een 120 tal producten die er uiteindelijk moeten inkomen.

groetjes
 
Test deze eens uit met je scanner
 

Bijlagen

  • Kasticket Help.xlsm
    26 KB · Weergaven: 52
Of iets vergelijkbaars zonder formules
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim f As Range, f2 As Range
  If Intersect(Target, Range("A11:A41")) Is Nothing Then Exit Sub
  If Target.Count > 1 Then Exit Sub
  With Application
    .EnableEvents = False
    Set f = Cells(Target.Row, 1).Offset((Target.Row - 11) * -1).Resize(Target.Row - 10).Offset(-1).Find(Target, , xlValues, xlWhole)
    Set f2 = Blad2.Columns(1).Find(Target, , xlValues, xlWhole)
    If f Is Nothing Then
      Target.Offset(, 1).Resize(, 5) = Array(f2.Offset(, 1).Value, , 1, f2.Offset(, 2).Value, f2.Offset(, 2).Value)
     Else
      f.Offset(, 3) = f.Offset(, 3) + 1
      f.Offset(, 5) = f.Offset(, 3) * f.Offset(, 4)
      Target.Resize(, 6).ClearContents
      .Goto Target
    End If
    .EnableEvents = True
  End With
End Sub
 

Bijlagen

  • Kasticket Help.xlsb
    23,8 KB · Weergaven: 34
Dank u voor deze oplossingen.


Ik denk dat ik er bijna ben hoor. Het werkt perfect.
Ik gebruik nu even de oplossing van VenA. Bij het voorstel van JeanPaul28 krijg ik 2 problemen. NA opslaan zelfde melding + komt er in de kolom van aantallen allemaal 1 te staan.

Bij de oplossing van VenA stuit ik enkel op het volgende probleem bij opslaan.

Probleem 1.PNG

Deze foutmelding krijg ik dan. Bon slaat wel op en drukt ook af via mijn printertje. Enkel krijg ik deze melding.

Hieronder de laatste versie van het ticket

Bekijk bijlage Kasticket Help.xlsb
 
Laatst bewerkt:
Dan zal je even moeten onderzoeken waardoor het fout gaat.

Zo gaat het bij mij goed
Code:
Public Sub OpslBestand()
  Application.DisplayAlerts = False
  c00 = "C:\Temp\"
  c01 = Range("F9").Value
  ActiveSheet.Copy
  ActiveWorkbook.SaveAs c00 & "Ticket" & c01 & ".xlsx", 51
  'ActiveWorkbook.PrintOut
  'ActiveWorkbook.Close
  VolgFact
  Application.DisplayAlerts = True
End Sub
 
Kijk eens goed naar de melding: dit is geen foutmelding.
Een VBA-foutmelding ziet er totaal anders uit.
 
Hoe bedoel je snb.

Het is wel waar, het werkt wel. Maar ik krijg deze melding telkens.
Heb het bovenstaande geprobeerd maar dan loopt er van alles mis.
 
Sla het bestand op als .xls, .xlsm of .xlsb
Al deze bestandsformaten kunnen macro's bevatten.

Vervang in de code van VenA in bericht#7
Code:
ActiveWorkbook.SaveAs c00 & "Ticket" & c01 & ".xlsx", 51
door
Code:
ActiveWorkbook.SaveAs c00 & "Ticket" & c01 & ".xlsm", 52

edit: bestaat het pad wel? staat er een \ aan het einde?
 
Laatst bewerkt:
Code:
NieuwFact = "C:\Users\Gregory\Documents\Parfum\2017\Kasticket2017\Ticket[COLOR="#FF0000"]\[/COLOR]" & Range("F9").Value & ".xls[COLOR="#FF0000"]m[/COLOR]"
ActiveWorkbook.SaveAs NieuwFact, FileFormat:=[COLOR="#FF0000"]xlOpenXMLWorkbookMacroEnabled[/COLOR]
 
Als er van alles mis gaat dan is het handig om te melden wat er misgaat. Het bestand opslaan als .xlsm lijkt mij niet handig omdat dan de code meegaat en mogelijk bij onbedoelde aanpassingen in het opgeslagen bestand foutmeldingen kan geven.
 
Hallokes

hier ben ik weer.
Ik heb ondertussen van alles geprobeerd, en krijg steeds de zelfde melding.
Geen foutmelding zoals snb al aangaf maar eerder een melding dat het document niet onder dit formaat kan worden opgeslagen.

Probleem 1.PNG

Nu is mijn vraag of het soms niet makkelijker is om het ticket op te slaan als pdf?
Ik moet dit nadien toch niet meer kunnen bewerken.
Is enkel om bij te houden voor de boekhouding.

Bekijk bijlage Kasticket Help.xlsb
 
Wat is het nu van de timer in dit bestand? Dat het opslaan niet lukt kan alleen liggen aan het niet correct toepassen van de aangedragen suggesties. Wandel met <F8> door de code en bestudeer waar en waarom het fout gaat. Gebruik zoals in #7 een aantal extra variabelen om het debuggen wat eenvoudiger te maken.
 
Hallo

Probleem is opgelost. Heb het document doen opslaan als binary workbook en nu lukt alles zonder problemen.

Dank voor jullie hulp allemaal.

In bijlage zet ik het werkende ticket. Misschien is dit nog voor iemand handig.
Je moet enkel in Visual Basic je map invoegen waar ie moet opslaan.

Dank aan allen die geholpen hebben. Heb hier weer veel van bijgeleerd.

Bekijk bijlage Kasticket leeg.xlsb
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan