Ga naar inhoud
  • 0

Samenvoegen van verschillende tabellen


Gerard Exis

Vraag

Ik heb een fout gemaakt en kan niet vinden waar ik de fout in ben gegaan.

De bestellingen die gedaan moeten worden (artikelen en aantallen) bij mijn leveranciers worden automatisch vanuit mijn website naar een excel bestand verstuurd.

Deze importeer ik via het tabel "import van website" dus enkel de artikelnr en aantallen worden uit Excel opgehaald, vervolgens wordt via de relatie uit de tabel "voorraad" overige gegevens van betreffende artikelen opgehaald, zoals barcode, omschrijving, etc..

Daarnaast heb ik een tabel "lading gescand" dit tabel importeer via Excel de artikelen die ik tijdens het laden inscan, deze gegevens zijn alleen de barcode en aantallen, de overige gegevens wordt via een relatie uit de tabel "voorraad" gehaald.

Vervolgens heb ik een layout gemaakt waarin ik deze gegevens samenvoegd, dus tegenover een artikel die besteld is staat ook het aantal geladen.

Nu zie ik een fout, want zodra ik artikelen laad die niet besteld zijn komen deze niet in het layout tevoorschijn, ik had verwacht dat deze artikelen er dan zouden staan met als bestelaantal 0.

 

De bedoeling is dus als voorbeeld:

artikelnummer: barcode: omschrijving: besteld: geladen: resultaat:

H299999999 12345678889 Waterpompje 5 5 Compleet

H333333333 22222222222 AGM accu 0 2 +2 Echter deze regel wordt niet toegevoegd omdat het artikelnr niet

voorkomt in de tabel "import van website"

 

Hoe kan ik dit oplossen ?

Link naar reactie

12 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Felix, dank voor je reactie, echter ik kom er niet uit :oops:

 

Natuurlijk zit ik zelf te dokteren hoe ik het kan oplossen, ben vanaf gisteren met dit probleem bezig.

Ik kom op de volgende oplossing: mijn tabel om de controle uit te voeren of ik alles wat besteld is geladen heb, laat ik zo als het nu is, het werkt goed. Het enigste probleem in deze is dat de artikelen die niet besteld zijn maar wel geladen kan ik in dit tabel niet zien. Natuurlijk is het voor mij het belangrijkst dat ik kan zien of ik alle bestelde artikelen geladen heb, omdat ik maar 1x per maand naar Nederland kom is het dus van belang dat ik de bestelde artikelen bij mij heb om uit te leveren aan klanten (of voorraad).

 

Volgende stap:

Mijn voorraad administratie is gekoppeld aan dit tabel, dus als ik dit tabel importeer om de voorraad (inkomende) bij te werken ga ik de artikelen missen tijdens import welk niet in dit tabel staan, dat is dus mijn probleem.

 

Mogelijke oplossing ? :

Ik maak een nieuw tabel en import daar de daadwerkelijke geladen artikelen en koppel hier vervolgens mijn voorraad (inkomend) aan.

 

Probleem:

De gegevens in de tabel voor de geladen artikelen komen via een handscanner, deze scant alleen een barcode, niets meer, niets minder.

Dus elk artikel wordt per stuk een record voor aangemaakt, daar zit het probleem in.

Hoe kan ik in dat nieuwe tabel zorgen dat ieder artikel dat meerdere keren voorkomt samengevoegd worden ?

Dus ipv.

artikelnummer: H2401000 stuks: 1

artikelnummer: H2401000 stuks: 1

enz......

 

wil ik :mrgreen:

artikelnummer: H2401000 stuks: 2

 

Ik kan het wel maken (heb ik al gedaan) in de layout rapporten, echter ik wil de records natuurlijk gaan gebruiken, dus aan een rapport heb ik niks, ik heb dit in een tabel nodig.

 

Ik denk als ik dit opgelost heb ben ik waarschijnlijk klaar met mijn "database" , althans hoop ik :wink:

Link naar reactie
  • 0

Hallo Gerard,

 

Ik zie dat je al een tijdje worstelt met de barcode techniek.

Maar ik heb altijd geleerd dat je de eerste controle aan de voordeur moet doen.

Daar waar de goederen binnenkomen.

Nou heb ik begrepen, dat jij de goederen bij verschillende leveranciers gaat halen maar dat doet aan de techniek niet af.

Jij weet wat er per leverancier besteld is.

Je maakt van te voren stickers met (barcode) voor ieder individueel te leveren artikel.

Als je bij te ophalen (lees leveren) voor ieder item een (juiste) artikelsticker plakt dan zou het aan het eind moeten kloppen.

De eventuele manko's vindt je in de stickers die je over hebt en de meer geleverde dan besteld daar kun je zelf iets voor verzinnen.

 

Je kunt de stickers van te voren afdrukken en je manko's heb je gewoon in je hand. (de overgebleven stickers.)

Sorteren op artikelnummer, en leverancier vertellen, dat hij het in die volgorde moet klaarzetten.

 

Je kunt dan ook een ander sturen om de stickers te plakken en de vrachtauto te laden.

Niks barcode readers, ipads accu's die leeg zijn en sync problemen.

 

KISS is hier het credo

Keep It Smart Stupid!

Link naar reactie
  • 0
Hallo Gerard,

 

Ik zie dat je al een tijdje worstelt met de barcode techniek.

Ja dat kan je wel stellen, maar ik wil het voor elkaar krijgen, mijn grootste probleem is dat ik niet weet wat er wel en wat er niet mogelijk is met FM, dus dan vraag ik me eigen meerdere keren af of ik niet naar iets zit te zoeken wat gewoon niet kan :cry:

Maar ik heb altijd geleerd dat je de eerste controle aan de voordeur moet doen.

Daar waar de goederen binnenkomen.

Nou heb ik begrepen, dat jij de goederen bij verschillende leveranciers gaat halen maar dat doet aan de techniek niet af.

Jij weet wat er per leverancier besteld is.

Je maakt van te voren stickers met (barcode) voor ieder individueel te leveren artikel.

Nagenoeg alle leveranciers voorziet de artikelen van stickers met barcode

Als je bij te ophalen (lees leveren) voor ieder item een (juiste) artikelsticker plakt dan zou het aan het eind moeten kloppen.

Zou niet goed zijn zo'n 4 a 5000 stickertjes te moeten plakken iedere rit

De eventuele manko's vindt je in de stickers die je over hebt en de meer geleverde dan besteld daar kun je zelf iets voor verzinnen.

Aha, de nieuwste idee over automatisering ? :mrgreen:

Je kunt de stickers van te voren afdrukken en je manko's heb je gewoon in je hand. (de overgebleven stickers.)

Sorteren op artikelnummer, en leverancier vertellen, dat hij het in die volgorde moet klaarzetten.

Pfftt..... moet ik nu ook nog bij de leverancier instructies gaan geven?

Je kunt dan ook een ander sturen om de stickers te plakken en de vrachtauto te laden.

Ik rij nu zelf zo'n 7 jaar elke maand op en neer (5500 km per rit, kan en zou het niet willen missen

Niks barcode readers, ipads accu's die leeg zijn en sync problemen.

De mogelijkheden om tijd te winnen en een betere controle te maken zeker aan de concurent over laten, das pas slim :wink:

 

KISS is hier het credo

Keep It Smart Stupid!

 

Dank voor je input, maar of ik er echt iets aan heb ?

Link naar reactie
  • 0

Felix sorry voor mijn verwarrende uitleg, in bovenstaande post ging het mij niet om dat ik een 0 wilde zien, ik had verwacht dat de records met alleen een waarde in het veld "aantal geladen" toch te zien zou zijn in de layout, echter omdat er geen bestel aantal tegenover sta dat dit dan op 0 gezet zou worden, echter in dit geval blijft het veld "besteld" leeg, dat is voor mij ook goed.

 

Ik heb jouw oplossing toegepast, alle artikelen geimporteerd, dus staan nu automatisch in dat layout, echter nu wil ik graag de records met de velden "besteld" en "aantal geladen" zonder waarde met een script kunnen verwijderen, zodat de controle lijst overzichtelijk wordt.

 

Hoop dat het zo duidelijk,

Link naar reactie
  • 0

In mijn belevenis zijn er geen twee, maar drie tabellen die je wilt "samenvoegen".

 

1. Het artikelen bestand, waar omschrijving en prijzen zijn vastgelegd, aangevuld met de huidige voorraad.

2. De bestelling, waar mogelijk afwijkende prijzen zijn vastgelegd en tevens de bestelde aantallen.

3. De levering, alles wat de vrachtwagen is ingegaan.

 

Mijn vraag: met welke bron ben je bezig geweest?

Zoals ik het bekijk uit jouw eerste bericht, zie je de records van alleen maar de bestelling, die je middels een match laat samenvallen met de gegevens van tabel 3, de levering.

Maar jouw bron is de recordset van tabel 2, de bestelling. Daar zit precies de beperking, want je voegt wel gegevens samen van records die in de levering zitten, maar zodra een bestelde regel niet bestaat, zie je geen enkele match meer met de levering. Kijk maar naar de gevonden set aan regels in de bestelling. Die blijft zoals die was.

 

Feitelijk wil je tabel 2 en 3 fysiek samenvoegen om het totale verschil te ontdekken tussen bestelling en levering.

 

Om dat inzichtelijk te maken, kan je tabel 3 toevoegen aan 2, of 2 toevoegen aan 3.

Mij lijkt het handigst om de levering toe te voegen aan de bestelling, om allerlei andere informatie van de bestelling daar te kunnen gebruiken.

Tabel 1 is alleen maar nodig om zaken als omschrijving op te halen, of om de actuele voorraad bij te werken.

 

Als je tabel 2 en 3 wilt samenvoegen, zal je via een relatie tussen die twee tabellen de boel aan elkaar kunnen knopen.

Dat zal gaan lopen op de velden ordernummer (bestelnummer) en artikelnummer.

Nieuw ontdekte Order+artikelnummers moet leiden tot het toevoegen van nieuwe records in de bestellingen tabel.

Als je in de relatie tussen tabel 3 en 2 ook nog het aanmaken van nieuwe records toestaat, loopt het vrij automatisch.

Door in het script de geleverde aantallen uit tabel 3 over te zetten naar tabel 2, worden bij bestaande matches de juiste aantallen overgeplaatst op de bestaande bestelde regels.

Als een artikel niet is besteld, maar wel geleverd, wordt in de bestelling een nieuw besteld artikel aangemaakt, maar met bestelde aantal op 0.

Als een artikel niet geleverd is, blijft de bestelde artikelregel onaangeroerd, blijft het geleverde aantal op 0 staan.

 

Door de velden van bestelling en levering apart te zetten, kan je via extra resultaatvelden berekenen wat de verschillen zijn.

 

 

Het script ziet er dan als volgt uit (grof uiteengezet):

 

ga naar layout tabel 3 geleverde artikelen

enter find mode

set field (ordernummer) het juiste ordernummer

perform find

ga naar eerste record

loop

set field (bestelling::aantalgeleverd) ; levering::aantal

ga naar volgend record, exit na laatste

end loop

 

Kijk maar of dit je iets kan helpen.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...