Toon posts:

[access/excel] template vullen met gegevens

Pagina: 1
Acties:
  • 189 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Voor een opdrachtbevestigings-systeem wil ik het volgende maken (als het kan):

1 template bestand (bijv in excel), daarin staan ook formules om totaal bedragen te berekenen.

1 "gegevens" bestand. De bedoeling is dat iemand een lijstje invuld (naam, adres, bedrag etc etc), en dan op een knop klikt en dat deze gegevens dan gaan naar de template en daar afgedrukt kan worden.

Kan ik dit het beste doen met Access of Excel (of een combinatie). Ik dacht aan een formulier in access maken en dan een rapport generen (maar daar kan ik geen berekeningen uitvoeren ofwel?),
of in access een lijstje invullen en dan dmv een knop laten versturen naar een Excel template. (het moet iig makkelijk gaan omdat de mensen die ermee werken niet veel weten van Excel of Access, iig ze weten niet hoe ze moeten exportere/inporteren/samenvoegen etc)

  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Access is het handigst. Je kunt een rapport ook baseren op een query ipv een tabel, zodat je wel berekeningen kunt uitvoeren.

Verwijderd

Topicstarter
Ik heb nu dit al voor elkaar:

een formulier met daarin alle velden die ingevuld moeten worden.
op dat form staat 1 knop die het huidige record naar een raport stuurt.

Nu alleen dat berekenen nog, hoe doe ik dit:
het veld totaal (op het formulier) moet gevuld worden met [veld_aantal] X [veld_bedrag].

Verwijderd

Topicstarter
Ik kan dat iig niet met een query doen denk ik, want de gebruikers moeten gewoon een simpel formuliertje invullen, en daarin staan ook de velden: aantal en bedrag. Als deze ingevuld zijn moet het veld totaal gevuld worden met het product van deze 2 velden. Deze "simpele" functie zal toch zeker wel kunnen in Access?

Verwijderd

Topicstarter
ik krijg het niet anders voor elkaar dan met een if statement:

Private Sub totaal_Enter()
If aantal >= 0 And bedrag >= 0 Then
totaal = aantal * bedrag
End If
end sub

Als ik nu het betreffende veld selecteer , dan wordt de berekening uitgevoerd en weergegeven in dat veld (totaal). Is dit een oplossing?

  • Boss
  • Registratie: September 1999
  • Laatst online: 06-08 22:22

Boss

+1 Overgewaardeerd

Nee, dit is geen oplossing. Kijk eens naar de voorbeeld database 'Noordenwind' in Access. Daar staat precies in (en nog veel meer) wat je zoekt.

Ik zou bij 'bronobject' van het tekstveld waar de formule in moet komen iets invullen van:
code:
1
=[aantal]*[bedrag]

VBA gebruiken is in ieder geval totaal overbodig hier.

offtopic:
En ken je de Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/tweakers/images/icons/edit.gif knop al? Werkt wat duidelijker dan 3x achter elkaar posten.

[ Voor 29% gewijzigd door Boss op 25-04-2005 15:54 ]

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Of je maakt een query aan als basis voor het rapport en dan zet je in een nieuw veld: Totaal: [aantal]*[bedrag]

Maar lees eens even de helpfle door, daar staat het allemaal in.

[ Voor 9% gewijzigd door Millennyum op 25-04-2005 16:44 ]


Verwijderd

Topicstarter
Nog een (andere) vraag:

Hoe zorg ik ervoor dat ik lege velden niet zie op mijn rapport.

Ik vul dus een formulier in, maar sommige velden hoef ik niet altijd in te vullen. Als ik nu op rapport maken klik dan zie ik wel dat veld (en de label van dat veld) staan (leeg welliswaar). Hoe krijg ik het voor elkaar om deze te verbergen als deze leeg is (normaal in een form kan ik: ik <veld> is null then me.visible=false doen, maar dit werkt niet in een rapport.

  • Boss
  • Registratie: September 1999
  • Laatst online: 06-08 22:22

Boss

+1 Overgewaardeerd

Kan in een rapport ook, maar dan houdt je gaten over. Kijk maar eens bij de events van een rapport...

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Als je die gaten op wil lossen, kun je zelfs in de functie behalve .visible = false ook de positie van het veld veranderen (door de waardes voor links en boven te aan te passen), zodat hij weer op de andere velden aansluit ;)

  • Boss
  • Registratie: September 1999
  • Laatst online: 06-08 22:22

Boss

+1 Overgewaardeerd

En tot slot kan je bij velden de eigenschap 'te verkleinen' op true zetten. De groote van het veld wordt dan aangepast op de inhoud. Helaas kan dit bij een label niet, omdat dat natuurlijk altijd een inhoud heeft. Maar via een truucje (label vervangen door tekstbox en die wel/niet vullen als er iets in het bijbehorende veld staat) is dat ook wel op te lossen.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Boss schreef op woensdag 27 april 2005 @ 19:41:
Kan in een rapport ook, maar dan houdt je gaten over. Kijk maar eens bij de events van een rapport...
En hoe kan ik die events bekijken/aanpassen, en die gaten maken in princiepe niks uit, want dan zet ik gewoon alle velden die hidden meoten zijn als ze leeg zijn bij elkaar in een "los" stuk van het rapport (zodat het niet opvalt dat daar normaal gegevens staan)

[edit]

Jij bedoelt een "gebeurtenis opbouwen" dan denk ik ?. Maar als ik hier bij bijv open neerzet: if bla is null then me.<veldnaam>.visible=false, dan werkt dit niet.

Ik kan ook geen gebeurtenis opbouwen bij een apart veld van een rapport.

Ik heb al iets gevonden wat blijkt te werken:

if me!<veld> > 0 then
me.<veld>.visible=true

(en de eigenschappen van het veld standaard op hidden zetten).

Dit blijkt te werken

[ Voor 68% gewijzigd door Verwijderd op 28-04-2005 13:08 ]

Pagina: 1