factuur maken in een formulier

  • Onderwerp starter Onderwerp starter FoBa
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

FoBa

Gebruiker
Lid geworden
16 feb 2012
Berichten
110
database opstellen, hoe?

zie derde post voor de situatie..

Hallo iedereen

Ik heb al even liggen zoeken maar ik vindt toch niet juist wat ik zoek.
Ik wil namelijk een factuur(gedeelte) integreren in mijn invulformulier.
We vullen nu gegevens in, en dan moet er een gedeelte zijn waar we verschillende artikels inzetten met hun ep, aantal en code.
Op het einde hiervan moet er een totaal berekent worden...

Wat moet ik hiervoor doen?

groeten
 
Laatst bewerkt:
Je legt niet helemaal goed uit wat je wilt doen, anders dan dat je vertelt dat je iets wilt maken om 'facturen te integreren in een invulformulier'. En dat is veel te weinig informatie. Om te beginnen: wat voor formulier is dat dan, en wat is daarvan de hoofdtaak? Verder: wat voor tabellen gebruik je (voor je formulier en je facturen)? En wat moet de output zijn van je factuur? Ik neem aan een rapport?
 
edit

ik zal heel mijn situatie uitleggen...

We hebben een kassa systeem dat werkt op een access db. Dat kassa systeem wordt gebruikt door de winkel en zij hebben/maken een klantenbestand en artikelenbestand aan.

In de winkel is er een technische dienst en we zouden ook een db willen maken.

We zouden een dbHerstelling hebben met hierin een tbKlant, tbArtikel, tbHerstelling, tbRMA, tbBestelling, tbOfferte. De tabellen klant en artikel worden gekoppeld aan de db van het kassasysteem, zodat wij alle klanten hebben en alle producten.

Indien er een klant is die niet in het kassasysteem staat, voeren we zelf manueel de gegevens in. Maar deze klant mag niet toegevoegd worden aan het kassasyteem.

een herstelling, bestelling, offerte, rma moet telkens ingevuld worden via een formulier die dan telkens een rapport van dat ingevulde formulier 2x afdrukt.

Het voornaamste is een herstelling, daar moeten de klant zijn gegevens inkomen, herstelling gegevens, artikel gegevens. als de klant al bestaat moeten de velden automatisch ingevuld worden, bestaat hij nog niet dan manueel. De herstelling gegevens zijn altijd manueel in te geven. De artikel gegevens halen we uit het artikelbestand. Meestal wordt het artikel "herstelling" alleen gebruikt maar soms komen er nog artikels bij. Dus moet een omschrijving, eenheidsprijs, aantal stuks, prijs en totaalprijs weergegeven worden.

Nu al die tabellen ed maken is geen probleem, ik zit alleen vast met het koppelen van de tabellen en het koppelen tijdens het invullen. Kan je mij wat opweg helpen aub?
 
Laatst bewerkt:
Je hebt een beetje een lastige situatie omdat je klanten zowel uit een gekoppelde tabel moet kunnen halen, maar ook vrij moet kunnen toevoegen aan je tabel Herstelling. Normaal gesproken zou je in die tabel alleen een veld KlantID nodig hebben, omdat je op basis daarvan de klantgegevens opzoekt in de tabel Klanten. Maar dat voldoet nu dus niet, omdat niet alle klanten in die klanten tabel staan.
Vraagje: wil je de onbekende klanten vaker kunnen gebruiken, of is eenmalig vastleggen genoeg?
In het eerste geval raad ik een lokale tabel Klanten aan, waarin je de extra klantgegevens vastlegt op dezelfde manier als dat in het kassasysteem gebeurt. Je kunt dan simpel in één keuzelijst zowel de kassaklanten als de 'eigen' TD klanten. Heb je een onbekende klant (niet in Kassa db en niet in TD db) dan voeg je die toe aan de TD db.
In het tweede geval zou je alle adresgegevens bij de Melding moeten opslaan. Die tabel moet dan dus alle NAW gegevens bevatten. Om op basis daarvan een rapport af te drukken, wil je uiteraard ook de NAW gegevens hebben van de klanten uit het kassa systeem, en die zouden dan via de bestaande gekoppelde keuzelijst gekopieerd moeten worden naar de Meldingen tabel. Bovendien moet je dan nog kunnen aangeven op het formulier dat je in het geval van een bestaande klant de keuzelijst gebruikt, en in het geval van een niet-bestaande klant de tekstvakken moet invullen.
Zelf zou ik voor optie 1 gaan, omdat je met optie 2 een totaal niet-genormaliseerde db creëert waarbij gegegens dubbel,en dus fout, in je systeem kunnen komen te staan. Wat doe je bijvoorbeeld als een klant die niet in het kassasysteem staat voor een tweede of derde keer langskomt? Dan moet je elke keer alle gegevens opnieuw invullen. En leg jij een database maar eens uit dat de J.Reijersweg 123 hetzelfde is als de J. Reijersweg 123... (verschil? een spatie achter de punt :) )
Met optie 1 houd je het systeem dus schoon, en veel eenvoudiger te onderhouden. Je kunt zelfs, mocht je dat willen, klanten importeren in het kassasysteem omdat je de gegevens al op dezelfde manier hebt opgeslagen.
Wat betreft de gebruikte/bestelde artikelen: daarvoor heb je een extra tabel nodig, waarin je een koppelveld maakt voor de meldingID, en je vervolgens voor elk artikel een apart record maakt. Bij 3 artikelen heb je dan 3 records nodig.
Op je formulier kun je met een subformulier dan artikelen toevoegen. Dat subformulier wordt dan op basis van het Meldingsnummer gekoppeld.
 
de klanten moeten idd opnieuw gebruikt worden. Maar ik snap je niet goed met de klanten tb? Ga ik dan twee extra tabellen nodig hebben?
 
bij de artikelen, dan heb ik in de herstelling db een tabel artikelen met de nodige gegevens en ik kan in het invulformulier via een subformulier de artikels invoeren?
 
eventjes alles op een rijtje...
Ik maak een database swsHerstellingen aan. Hierin heb ik volgende tabellen:
herstellingTbl
lokaleKlantTbl
klantTbl(gekoppeld aan kassasysteem)
ArtikelTbl(gekoppeld aan kassasysteem)

Dan heb ik een invulformulier met de naam herstellingFrm, hierin zitten dan twee subforms, een voor de klant in te voegen en dan nog een om verschillende artikels toe te voegen, klopt dit?

Dan zal ik een query nodig hebben die enkel het laatste id oproept en dat dan dient als bron voor het formulier dat afgedrukt wordt.

Zit ik op de goeie lijn??

mvg

Heel erg bedankt voor de hulp al
 
Ben je er al uit gekomen?
Zoek anders maar eens op cloudformz in google.

Mocht je nog hulp nodig hebben, ik hoor het graag ;)
 
Laatst bewerkt:
Als we de antwoorden gewoon even bij Access oplossingen laten, dan zou je kunnen zeggen dat je op de goede weg bent. Vraag is: waarom een subformulier voor de klanten? Zelf zou ik een keuzelijst maken, of twee keuzelijsten. In de laatste variant heb je dan een keuzelijst die je koppelt aan de bestaande klanten uit het kassa systeem, en een keuzelijst (of tekstvak, dat kan ook) die je koppelt aan de 'lokale' tabel. Met een selectievakje switch je dan tussen de twee keuzelijsten bijvoorbeeld. Beide keuzelijsten koppel je aan hetzelfde veld in je tebl Herstelling, zodat het niet uitmaakt of je een klant kiest uit Herstelling, of uit LokaleKlant.
Als je met een keuzelijst werkt, kun je op basis van de gebeurtenis <Bij Niet in Lijst> een klant toevoegen aan de tabel LokaleKlant, zodat je hem daarna gelijk kunt gebruiken. Dat kan via een apart popup formulier, zodat je eerst de klantgegevens moet invullen, of je slaat eerst alleen de naam van de klant op zodat je eerst de melding invoert, en daarna de klantgegevens invult. Die werkwijze is verder niet heel boeiend, en niet interessant voor het gehele proces.
Hetzelfde geldt trouwens voor je artikelen, want ook daar heb je verder geen subformulier voor nodig. Alleen een keuzelijst (met invoervak) volstaat. Maak het dus niet ingewikkelder dan het uiteindelijk moet zijn, want de verdere oplossingen worden er ook alleen maar lastiger door.
Afdrukken van een formulier is natuurlijk uit den boze; ik neem aan dat je het formulier(record) dat je invult wilt kunnen afdrukken, en dat kan d.m.v. een standaardrapport dat je filtert op basis van het ingevulde record.
 
Ok ik ben mee met het gedeelte voor de klanten, ik denk dan best met een radiobutton te werken zodat je niet alle twee kan selecteren...
Maar voor de artikelen moet je het mij nog even uitleggen aub.
Zo een keuzelijst voorziet toch alleen 1 artikel dan, hoe voeg je er dan nog een artikel bij?
Om het formulier af te drukken zou ik natuurlijk een rapport afdrukken die als bron een query gebruikt, die query filtert dan het laatste id uit ;)

heel erg bedankt al!
 
Bij een herstelling kunnen meerdere artikelen komen, en dat houdt dus in dat je die vastlegt in een aparte tabel ([tblHerstelling_Artikelen] bijvoorbeeld). En daar maak je een subformulier van, met een keuzelijst waarin je de artikelen selecteert. Voor elk gebruikt artikel dus een eigen record. Een groepsvak met optierondjes lijkt mij een prima oplossing, al zou een wisselknop ook kunnen waarmee je de juiste keuzelijst zichtbaar en actief maakt. Uit - Klanten tabel, ingedrukt - lokale tabel. Meerdere oplossingen dus!
 
@OctaFish:
Ik heb na een lange tijd niets meer te proberen nog even geknoeid met de db. Nu we hebben een obstakel al weggewerkt, nl.: het dubbele klantenbestand.
Als we een nieuwe klant hebben, dan voegen we die snel toe via het kassasysteem en roepen we hem dan op in de herstellingdb.
dus dat maakt de dingen al wat duidelijker denk ik.
 
Kunt u mij verder helpen, ik snap het totaal niet meer.
Ik heb twee databanken aangemaakt met bijbehorende tabellen, maar ik krijg ze gewoon niet in orde.
Via een formulier vullen we alles in. De klantengegevens staan in de tabel klanten die gekoppeld is.
De artikels staan in de artikels databank.
Nu moeten we in het formulier een klant selecteren op basis van de naam en het adres.
En zo worden de overige velden, telefoon ed. ingevuld.
Dan moeten we artikels kunnen selecteren.
Er moet een totaal uitgerekend worden
en via een rapport dat als bron een query heeft dat het laatste servicenummer oproept. moeten we een a4tje kunnen afdrukken met alle gegevens erop.
kunt u helpen aub

Bekijk bijlage softwareshop.rar
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan